Estoy intentando ver el contenido de un archivo .war. Primero configuré sus permisos con chmod 777 luego, cuando trato de acceder usando:

cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/ 

Está dando cd: /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/: Not a directory y no puedo continuar.

¿Puede alguien ayudarme con este problema?

Comentarios

  • No ' t use chmod 777 en un archivo comprimido. No ' no necesita un bit de ejecución para leerlo. Se recomienda una 644 o 640 segura.
  • Consulte los documentos oficiales de Java: docs.oracle.com/javase/tutorial/deployment/jar/view.html
  • ¿Es /usr/local/standalone/deployments/Sample.war un directorio o un archivo?

Respuesta

Los archivos .war están empaquetados. Puede extraer la información utilizando cualquiera de los siguientes comandos:

jar -xvf Sample.war unzip Sample.war 

Debería poder ejecutar cd /usr/local/standalone/deployments/Sample.war/WEB-INF/classes/

Comentarios

  • jar -xvf *war ganó ' t funciona si hay más de un archivo war en el directorio actual. tar -xvfz ganó ' no funciona en absoluto, está confundiendo archivos comprimidos con gzip y archivos comprimidos.
  • Esto es cierto, No quise ' inferir que funcionaría con múltiples guerras, solo que podrías usar ese comando textualmente para cualquier guerra. ' lo cambié
  • Creo que ' es mejor usar jar -tvf y no la forma jar -xvf propuesta. Por lo tanto, los archivos no son ' t extraídos (y contaminan su.) Sino que solo se enumeran.

Respuesta

.war los archivos son archivos comprimidos.

Puede enumerar lo que contienen con

jar tvf Sample.war 

o

zipinfo Sample.war 

Si desea ver el contenido de los archivos almacenados en un archivo, primero debe extraerlo en algún lugar :

mkdir /tmp/foo cd /tmp/foo unzip /usr/local/standalone/deployments/Sample.war ls -l WEB-INF/classes/ 

Responda

Si no desea extraer el archivo puede usar vim filename.war para leer el contenido del archivo. Puede leer los subdirectorios de los archivos seleccionándolos y presionando enter.

Comentarios

  • Para que esto funcione, necesita el paquete unzip instalado.

Answer

Primero tienes que extraer el archivo war jar xvf Sample.war. Luego puedes acceder al archivo war.

Responder

Si los comandos de Unix no funcionan, transfiera el archivo a la máquina local.

.jar o .war o .ear se puede abrir cualquier archivo en 7-Zip siguiendo los pasos a continuación:

  1. Haga clic con el botón derecho en el archivo comprimido
  2. 7-Zip
  3. Abrir archivo

Debería poder ver todo el archivo comprimido contenido. Ahora navegue por la carpeta / archivo y luego haga clic derecho -> edite el archivo -> guarde el archivo.

Responder

Además de extraerlos con jar o descomprimir, también puede usar Midnight Commander (mc) y navegar a estos archivos y presione Enter en ellos como si fueran directorios.

Si esto no funciona de inmediato, su versión de mc no está configurada para conocer el sufijo .war, pero aún puede usar esta función escribiendo ya sea cd Sample.war # uzip (antiguo mc) o cd Sample.war / uzip: // (mc en Debian inestable) y presionando Enter. Como beneficio adicional, presionando Escape y luego Enter (en algunas terminales, también Alt-Enter pero esto no es portátil, así que no dependa de él) inserta el nombre del archivo actual en la línea de comando, pero también tendrá que presionar Retroceso porque agrega un espacio, y #uzip o / uzip: // debe seguir inmediatamente a nombre de archivo.

Esto se conoce como mc VFS (sistema de archivos virtual).

No repetiré las respuestas de descomprimir / fastjar / jar aquí, pero también son correctas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *