plugin deploy java maven jar tomcat7 war

java - deploy - tomcat7-maven-plugin maven



maven-tomcat7-plugin produce JAR ejecutable corrupto (2)

Tengo un problema al usar el complemento Maven Tomcat7 para producir archivos JAR con una instancia incorporada de Tomcat7. Aquí está mi fragmento de pom.xml :

<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/${project.artifactId}</path> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>exec-war</goal> </goals> </execution> </executions> </plugin>

Mi proyecto usa embalaje de war . Se produce el archivo JAR que contiene Tomcat con el archivo WAR del proyecto; sin embargo, cuando intento ejecutarlo obtengo un error:

java.io.FileNotFoundException: /home/rafal.wrzeszcz/workspace/Mailer/.extract/webapps/mailer.war at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:214) at java.util.zip.ZipFile.<init>(ZipFile.java:144) at java.util.jar.JarFile.<init>(JarFile.java:153) at java.util.jar.JarFile.<init>(JarFile.java:90) at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93) at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:88) at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89) at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:113) at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:722) at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:843) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:387) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)

Intenté la versión de plugin 2.1 - el mismo resultado.

Este es el árbol de directorios que se extrae ejecutando el JAR:

$ ls -AR .extract .extract: conf logs temp webapps work .extract/conf: .extract/logs: access_log.2014-03-07 .extract/temp: .extract/webapps: .extract/work: Tomcat .extract/work/Tomcat: localhost .extract/work/Tomcat/localhost: mailer .extract/work/Tomcat/localhost/mailer:

(Como puede ver, no se copiaron archivos)



Elimina la ruta de la configuración. Y usa la versión 2.1 del plugin tomcat. Hacer esos dos cambios en mi archivo pom solucionó un problema similar para mí. También había limpiado la $M2_REPO/org/apache antes de volver a ejecutar.