部署WAR文件时出现tomcat错误

Cha*_*pax 11 tomcat

请帮我解决在尝试在Tomcat服务器上部署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)
Run Code Online (Sandbox Code Playgroud)

JRe*_*der 13

当auto-deploy设置为true并且我通过与Linux服务器的慢速连接上传war文件时,我看到了这个问题.出于某种原因,Tomcat尝试在完成上传到服务器之前部署WAR.关闭自动部署并手动执行,或者将文件压缩到服务器上的其他目录,然后将webapps移动到webapps然后将其移动到webapps可以解决问题.

在尝试扩展文件之前,Tomcat似乎没有等到文件完成上传之后才会出现问题.


Mik*_*one 5

如果要在Linux上进行部署,请确保用户可以读取tomcat进程正在运行的情况.将"chmod + r"运行到war文件,为每个人添加读取权限.

  • 真棒.这只是帮我解决了几个小时的头痛问题.太糟糕的tomcat错误没有多大帮助! (3认同)
  • @Miles:如果答案真的解决了你的问题,那就接受吧. (2认同)

rel*_*let 1

您的战争文件可能已损坏或权限错误。.war 文件是 zip 文件 - 您可以使用 zip/winzip/7zip 等打开一个文件并确认它是完整且可读的吗?文件权限有哪些?