2010-07-30 31 views
9

Ayúdeme con las siguientes excepciones que obtengo al intentar implementar un archivo WAR en el servidor Tomcat.error de tomcat al desplegar el archivo WAR

07:46:50,076 WARN HostConfig:606 - Exception while expanding web application archive chapal.war 
07:47:00,123 INFO StandardHostDeployer:435 - Processing Context configuration file URL file:/home/eqdev/eqgen117/chrad/chapal-puru/tomcat/conf/Catalina/local 
host/chapal.xml 
07:47:00,158 ERROR Digester:1275 - Begin event threw exception 
java.util.zip.ZipException: error in opening zip file 
     at java.util.zip.ZipFile.open(Native Method) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:203) 
     at java.util.jar.JarFile.<init>(JarFile.java:132) 
     at java.util.jar.JarFile.<init>(JarFile.java:70) 
     at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:56) 
     at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:41) 
     at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:68) 
     at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:102) 
     at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:69) 
     at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:155) 
     at org.apache.catalina.startup.SetDocBaseRule.begin(SetDocBaseRule.java:138) 
     at org.apache.commons.digester.Digester.startElement(Digester.java:1273) 
     at org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java:65) 
     at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) 
     at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
     at org.apache.commons.digester.Digester.parse(Digester.java:1567) 
     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:488) 
     at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) 
     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) 
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) 
     at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:834) 
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1070) 
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
     at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608) 
     at java.lang.Thread.run(Thread.java:595) 
07:47:00,165 ERROR HostConfig:484 - Error deploying configuration descriptor chapal.xml 
java.io.IOException: java.util.zip.ZipException: error in opening zip file 
     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494) 
     at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) 
     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) 
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) 
+0

es muy similar a éste: http://stackoverflow.com/questions/5493931/java-lang-illegalargumentexception-invalid-or-unreadable-war-file-error-in-op – manuna

Respuesta

1

Parece que su archivo de guerra puede estar dañado o tener los permisos incorrectos. Los archivos .war son archivos zip: ¿puede abrir uno con zip/winzip/7zip o similar y confirmar que esté completo y legible? ¿Cuáles son los permisos de archivos?

0

Parece que su archivo war está dañado o no está formado correctamente. Eso es todo lo que puedo proporcionar desde el seguimiento de la pila.

¿Cómo estás generando tu guerra?

+0

través de hormiga ... puedo abrirlo exitosamente usando WinRAR. También estoy FTPing el archivo usando hormiga en el modo de contenedor ... Lo curioso es que las instrucciones de depuración se imprimen en el registro ... por lo que no sé exactamente qué está pasando mal. – Chapax

+0

Bien, para reducir el problema, intente desplegar el archivo de guerra generado localmente en tomcat. Si tiene éxito allí, entonces hay un problema al transferir el archivo a través de ftp – naikus

2

¿Transfirió el archivo de Windows a Unix en modo ASCII en lugar de Binario?

Esa podría ser una de las causas de la corrupción del archivo. es posible que pueda abrir con la postal en las ventanas - pero trate

jar tvf <filename> en Unix para ver si se considera que el contenido correctamente

12

veo este problema cuando se auto-despliegue se establece en true y yo estoy cargando el archivo de la guerra a través de una conexión lenta a un servidor Linux. Por alguna razón, Tomcat intenta implementar WAR antes de que termine de cargarse en el servidor. Desactivar la implementación automática y hacerlo de forma manual, o pasar el archivo a un directorio en el servidor, luego webapps y luego moverlo a webapps soluciona el problema.

Parece ser un problema con Tomcat al no esperar hasta que el archivo termine de cargarse antes de intentar expandirlo.

0

Tengo un error similar. Intenta apagar tu firewall/antivirus. Me ayudó.

4

Si está implementando en Linux, asegúrese de que el usuario pueda leer que el proceso de tomcat se está ejecutando como. Ejecute "chmod + r" en el archivo war para agregar derechos de lectura a todos.

+2

Awesome. Esto solo me ayudó a solucionar mi problema después de horas de rascarse la cabeza. Lástima que los errores de Tomcat no sean más útiles. – threejeez

+0

@Miles: si la respuesta realmente resolvió tu problema, acéptalo. –

+1

@Coral: Es un poco difícil aceptar una respuesta a una pregunta que no hice. Además, si bien esta respuesta me ayudó a resolver ese problema (¡gracias de nuevo, @Mike!), Desde entonces obtuve esta excepción varias veces, donde el problema no eran los permisos. Esta excepción es general y puede arrojarse por * cualquier * número de razones al explotar la guerra: permisos, código postal corrupto, sin espacio en disco, etc. ¡Pensé que lo lanzaría en la mezcla! – threejeez

1

Tuve el mismo problema y acabo de descomprimirlo y volverlo a comprimir manualmente. Eso funcionó para mí.

2

Yo también tuve el mismo problema. Cambiando el permiso del archivo de guerra lo resolvió

0

Acabo de tener este mismo problema. Necesito grabar el archivo WAR en un DVD y copiarlo en la DMZ. Desafortunadamente, la finalización del disco en Roxio corrompía el archivo WAR por alguna razón. Dejé de finalizar el disco y el WAR se desplegó normalmente.

0

Pasé mucho tiempo para entender cuál puede ser el motivo. Finalmente, para mí es útil cuando construyo el WAR y al mismo tiempo el tomcat local está inactivo. De lo contrario, veré este error. No estoy seguro de por qué, pero algo está impidiendo construir la GUERRA adecuada si tomcat local está UP (a través de IDE, no independiente). La razón puede ser IDE. Espero que ayude a alguien.

Cuestiones relacionadas