2010-07-30 370 views
9

请试着在尝试在Tomcat服务器上部署WAR文件时获得以下异常。部署WAR文件时出现tomcat错误

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

看起来很像这个: http://stackoverflow.com/questions/5493931/java-lang-illegalargumentexception-invalid-or-unreadable-war-file-error-in-op – manuna 2014-08-26 13:07:50

回答

1

它看起来像您的战争文件可能已损坏或具有错误的权限。 .war文件是zip文件 - 你可以用zip/winzip/7zip或类似文件打开一个文件,并确认它是完整且可读的?什么是文件权限?

0

看起来像你的战争文件已损坏或形式不正确。这就是我可以从堆栈跟踪中提供的所有信息。

你是如何引发你的战争?

+0

通过ant ...我能够使用WinRAR成功打开它。 我也使用bin在bin模式下使用ant来FTP文件... 有趣的是,调试语句确实打印到日志中......所以我不知道到底发生了什么错误。 – Chapax 2010-08-04 13:09:50

+0

好的,为了缩小问题,请尝试在tomcat上本地部署生成的war文件。如果成功,那么在通过ftp – naikus 2010-08-04 13:54:28

2

你是否用ASCII模式而不是二进制FTP将文件从Windows传输到Unix?

这可能是文件被损坏的原因之一。你也许可以在Windows ZIP打开 - 但尝试

jar tvf <filename>在Unix上,看它是否观看内容的正确

12

我看到这个问题时,自动部署设置为true,我上传war文件通过与Linux服务器的连接缓慢。出于某种原因,Tomcat会在完成上传到服务器之前尝试部署WAR。关闭自动部署并手动完成,或者将文件ftping到服务器上的其他目录,然后将其移至webapps中,以解决问题。

似乎是Tomcat的一个问题,它不会等待文件完成上传,然后再尝试展开它。

0

我也有类似的错误。尝试关闭您的防火墙/防病毒软件。它帮助了我。

4

如果您正在Linux上部署,请确保tomcat进程正在运行的用户可读。对战争文件运行“chmod + r”以向每个人添加读取权限。

+2

传输文件时出现问题。这只是帮助我解决了我的问题,经过数小时的头部划伤。太糟糕的Tomcat错误没有更多的帮助! – threejeez 2012-07-23 01:09:05

+0

@Miles:如果答案真的解决了您的问题,请接受它。 – 2012-08-03 11:43:32

+1

@Coral:接受一个我没问的问题的答案有点难。另外,虽然这个答案确实帮助我解决了这个问题(再次感谢@Mike!),但自从问题不是权限以来,我已经多次获得此异常。这个例外是一般的,并且在爆炸战争时可以抛出*任意数量的原因:权限,损坏的zip,没有磁盘空间等等。我想把它放在混合中! – threejeez 2012-08-03 15:06:24

1

我有同样的问题,我只是解压缩并手动再次压缩它。这对我有效。

2

我也有同样的问题。更改战争文件的权限解决了它

0

我只是有这个相同的问题。 我需要将WAR文件刻录到DVD并将其复制到DMZ。 不幸的是,在Roxio中定版光盘出于某种原因正在破坏WAR文件。 我停止完成光盘并正常部署WAR。

0

我花了很多时间了解可能的原因。最后,对我来说,当我构建WAR并且同时本地tomcat处于关闭状态时会有所帮助。否则,我会看到这个错误。不知道为什么,但是如果本地tomcat处于启动状态(通过IDE,而不是独立的),可以防止构建适当的WAR。原因可以是IDE。希望对别人有帮助。