Si está familiarizado con los lenguajes de programación, especialmente Java, probablemente conozca la terminología JAR o WAR. Sin embargo, es posible que muchos de ustedes no hayan oído hablar del término o lo encontrarán en un futuro cercano.
Hoy aprenderá qué son, por qué debería usarlos y cómo extraer/descomprimir un archivo WAR en Linux.
¿Qué es un archivo WAR?
En resumen, un archivo WAR es un archivo o colección de archivos de contenido de aplicaciones web, que contiene archivos JAR, JavaServer Pages, Java Servlets, clases Java, archivos XML, bibliotecas de etiquetas, páginas web estáticas (HTML, CSS, JavaScript) y otros. recursos
¿Por qué los necesitas? La respuesta corta es la velocidad. Comprimir varios archivos en un solo archivo ahorra mucho tiempo al transferir un solo archivo del cliente al servidor muy rápidamente.
Sugerir: Cómo extraer o descomprimir archivos Tar Gz en Linux
¿Hay alguna diferencia entre un archivo WAR y un archivo JAR? Ambos archivos son archivos comprimidos creados con la herramienta Java JAR. Sin embargo, sus roles son diferentes entre sí.
- archivo JAR: Este
.jar
Los archivos incluyen archivos de propiedades como los que se encuentran en los archivos de biblioteca, de recursos y adjuntos. - documentos de guerra: contiene todas las partes de una aplicación web, como JSP, HTML, JavaScript y otros archivos necesarios que se pueden implementar en cualquier servidor/contenedor JSP.
A continuación se muestra un cuadro básico para que le resulte más fácil comprender sus diferencias.
Después de comprender el propósito del archivo, probablemente esté trabajando con estos archivos comprimidos. Entonces, ¿cómo extraerlos/descomprimirlos?
Extraiga el archivo WAR usando la herramienta de descompresión en Linux
En Linux, obtienes una popular herramienta de compresión y descompresión llamada Unzip. Puede extraer/descomprimir cualquier archivo JAR o WAR sin herramientas adicionales.
Sugerir: Cómo extraer archivos comprimidos .7z en Linux
Para mostrarle un ejemplo, ya tengo un archivo WAR de muestra en mi sistema. Para extraer recursos de él, pasaré el siguiente comando junto con la ubicación del archivo WAR.
$ unzip sample.war
A continuación se muestra la salida del comando anterior.
Tian Tian! ! ! Hiciste un gran trabajo, pero todavía hay un problema con este enfoque. Si ejecuta el comando anterior en una ubicación y un directorio llenos de archivos, será difícil distinguir entre archivos antiguos y archivos de contenido WAR, como se muestra a continuación.
En mi caso, los archivos existentes y extraídos son limitados, lo que hace que distinguirlos sea menos inconveniente. Sin embargo, para usted, la situación puede ser diferente, entonces, ¿qué debemos hacer?
Sugerir: Cómo desempaquetar initrd/initramfs para ver contenidos en Linux
La respuesta es simplemente crear un directorio separado para extraer el contenido. Para hacer esto, puede pasar el siguiente comando junto con el nombre del directorio del que desea extraer el contenido, como se muestra a continuación.
$ unzip sample.war -d sampledir
En mi caso, el comando anterior extraerá sample.war
contenido del archivo dentro sampledir
Tabla de contenido.
¡Ahora hay una pregunta más! ¿Qué sucede si el archivo WAR es grande y está interesado en un archivo específico? Para hacer esto, primero debe verificar el contenido del archivo WAR pasando el siguiente comando.
$ unzip -l sample.war
#OR
$ unzip -Zl sample.war
A continuación se muestra la salida del comando anterior.
Después de identificar el archivo que le interesa (para mí fue index.html
), especificado al extraer, como se muestra a continuación.
$ unzip sample.war index.html
A continuación se muestra la salida del comando anterior.
¿Qué sucede si tiene varios archivos para extraerlos juntos? Especifique cada archivo con un espacio como delimitador.
$ unzip sample.war index.html hello.jsp
A continuación se muestra la salida del comando anterior.
¿Qué sucede si desea extraer un directorio de un archivo WAR? Utilice la notación de asterisco para especificar directorios (*) para definir la extracción de todo lo que contiene, como se muestra a continuación.
$ unzip sample.war images/*
El comando anterior solo extraerá el directorio de imágenes y todo su contenido.
Hagamos una pausa aquí. Espero que entiendas la utilidad de la herramienta de descompresión en Linux. Sin embargo, si tiene otras preguntas, asegúrese de dejarlas en la sección de comentarios.
Mente técnica innovadora con 12 años de experiencia trabajando como programador informático, desarrollador web e investigador de seguridad. Capacidad para utilizar diversas tecnologías y soluciones de software, así como gestionar bases de datos.