generar extension descompilar con como archivos abrir java maven web-applications jboss7.x war

java - extension - Cómo desempaquetar y volver a empaquetar un archivo WAR



ear java (8)

Adaptándose de las respuestas anteriores, esto funciona para Tomcat, pero también puede adaptarse para JBoss o cualquier contenedor:

sudo -u tomcat /opt/tomcat/bin/shutdown.sh cd /opt/tomcat/webapps sudo mkdir tmp; cd tmp sudo jar -xvf ../myapp.war #make edits... sudo vi WEB-INF/classes/templates/fragments/header.html sudo vi WEB-INF/classes/application.properties #end of making edits sudo jar -cvf myapp0.0.1.war * sudo cp myapp0.0.1.war .. cd .. sudo chown tomcat:tomcat myapp0.0.1.war sudo rm -rf tmp sudo -u tomcat /opt/tomcat/bin/startup.sh

Tengo un archivo WAR. Me gustaría abrirlo, editar un archivo XML, eliminar algunos frascos y luego volver a empaquetarlo.

Utilicé WINRAR para abrir el archivo WAR y eliminé algunos tarros e hice un ''Agregar al archivo'' en WinRar y creé una GUERRA.

Cuando implementé el WAR en la carpeta jboss, obtuve una excepción.

16:05:14,316 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.unit."myapplication.war". STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myapplication.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "myapplication.war"

¿Cómo reenvasar el WAR?


Esto funcionó para mí:

mv xyz.war ./tmp cd tmp jar -xvf xyz.war rm -rf WEB-INF/lib/zookeeper-3.4.10.jar rm -rf xyz.war jar -cvf xyz.war * mv xyz.war ../ cd ..


Estoy seguro de que hay etiquetas ANT para hacerlo, pero he usado este hack de 7zip en el script .bat. Utilizo http://www.7-zip.org/ herramienta de línea de comandos. Todas las veces que uso esto para cambiar la URL de jdbc dentro del archivo j2ee context.xml.

mkdir ./temp-install c:/apps/commands/7za.exe x -y mywebapp.war META-INF/context.xml -otemp-install/mywebapp ..here I have small tool to replace text in xml file.. c:/apps/commands/7za.exe u -y -tzip mywebapp.war ./temp-install/mywebapp/* rmdir /Q /S ./temp-install

Puede extraer todo el archivo .war (después de todo, su zip), eliminar archivos, reemplazar archivos, agregar archivos, modificar archivos y volver a empaquetar archivos .war. Pero al cambiar un archivo en un archivo .war de gran tamaño, es mejor extraer un archivo específico y luego actualizar el archivo original.


No es necesario, Tomcat naturalmente extrae el archivo war en una carpeta con el mismo nombre. simplemente modifica el archivo deseado dentro de esa carpeta (incluidos los archivos de configuración .xml), eso es todo. Técnicamente no hay necesidad de reiniciar Tomcat después de aplicar las modificaciones.


No programáticamente, puede abrir el archivo usando la interfaz de usuario de 7zip para agregar / eliminar o extraer / reemplazar archivos sin que la estructura cambie. No sabía que era un problema usar otras cosas hasta ahora :)



copie su archivo war a / tmp ahora extraiga el contenido:

cp warfile.war /tmp cd /tmp unzip warfile.war cd WEB-INF nano web.xml (or vim or any editor you want to use) cd .. zip -r -u warfile.war WEB-INF

ahora tiene en /tmp/warfile.war su archivo actualizado.


puedes actualizar tu guerra desde la línea de comandos usando comandos java como se menciona aquí:

jar -uvf test.war yourclassesdir

Otros comandos útiles:

Comando para descomprimir / explotar el archivo war

jar -xvf test.war

Comando para crear el archivo war

jar -cvf test.war yourclassesdir