java.lang.IllegalArgumentException:无效或不可读的WAR文件:打开zip文件时出错
java.lang.IllegalArgumentException:无效或不可读的WAR文件:打开zip文件时出错,java,jsp,tomcat,catalina.out,Java,Jsp,Tomcat,Catalina.out,在Tomcat上执行display.war文件时,我在Catalina.2011-03-30.log中遇到了这个错误。错误如下所示: Mar 30, 2011 8:01:31 PM org.apache.catalina.startup.ContextConfig init SEVERE: Exception fixing docBase for context [/Display] java.util.zip.ZipException: error in opening zip fi
在Tomcat上执行display.war文件时,我在Catalina.2011-03-30.log中遇到了这个错误。错误如下所示:
Mar 30, 2011 8:01:31 PM org.apache.catalina.startup.ContextConfig init
SEVERE: Exception fixing docBase for context [/Display]
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:114)
at java.util.jar.JarFile.<init>(JarFile.java:135)
at java.util.jar.JarFile.<init>(JarFile.java:72)
at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:72)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:48)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:70)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71)
at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:148)
at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:886)
at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1021)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:5602)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4378)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:662)
Mar 30, 2011 8:01:31 PM org.apache.catalina.core.StandardContext resourcesStart
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Invalid or unreadable WAR file : error in opening zip file
at org.apache.naming.resources.WARDirContext.setDocBase(WARDirContext.java:135)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4249)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4418)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:662)
2011年3月30日8:01:31 PM org.apache.catalina.startup.ContextConfig init
严重:修复上下文[/Display]的docBase时出现异常
java.util.zip.ZipException:打开zip文件时出错
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile。(ZipFile.java:114)
位于java.util.jar.JarFile。(JarFile.java:135)
位于java.util.jar.JarFile。(JarFile.java:72)
位于sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:72)
位于sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:48)
位于sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:70)
位于sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104)
位于sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71)
位于org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:148)
位于org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:886)
位于org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1021)
位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
在org.apache.catalina.util.LifecycleSupport.FireLifecycleSupport(LifecycleSupport.java:119)上
位于org.apache.catalina.core.StandardContext.init(StandardContext.java:5602)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4378)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
位于org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
位于org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
在org.apache.catalina.util.LifecycleSupport.FireLifecycleSupport(LifecycleSupport.java:119)上
位于org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
运行(Thread.java:662)
2011年3月30日晚上8:01:31 org.apache.catalina.core.StandardContext资源启动
严重:启动静态资源时出错
java.lang.IllegalArgumentException:无效或不可读的WAR文件:打开zip文件时出错
位于org.apache.naming.resources.WARDirContext.setDocBase(WARDirContext.java:135)
位于org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4249)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4418)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
位于org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
位于org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
在org.apache.catalina.util.LifecycleSupport.FireLifecycleSupport(LifecycleSupport.java:119)上
位于org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
运行(Thread.java:662)
提前感谢。原因清楚地显示出来:
java.lang.IllegalArgumentException: Invalid or unreadable WAR file : error in opening zip file
WAR
(Web存档)文件是一个zip文件,其中包含用于Web应用程序的类、库和资源
将WAR文件从a.WAR
重命名为a.zip
。如果无法使用Winzip/7-zip/WinRar打开zip文件,请再次重建WAR文件
希望这能有所帮助。不幸的是,原因和解决方案并不那么明显。我以前在几个论坛上见过这个问题好几次。我自己也经历过至少一次。谷歌目前对该异常消息的点击率超过500次。所有问题都没有答案。然而,有迹象表明它可以在IDEX中工作,但不能在IDEY上工作,也可以在服务器X上工作,但不能在服务器Y上工作。或者,从WAR中删除或添加某些内容是有效的(可以找到一个典型的示例)。然而,没有人深入解释真正的根本原因 我认为这与所使用的JDK/JRE版本和WAR的文件大小有关。以下是一些您可以尝试的东西:
- 尝试在IDE和/或appserver环境中更新/调整JDK/JRE版本
- 尝试向WAR中添加一些东西,一些随机的JAR或JSP文件或其他任何东西,然后重新构建
- 这里也有同样的问题。war文件可以通过7-zip打开
编辑:我找到了原因。“无效或不可读的WAR文件:打开zip文件时出错”无疑是一条令人困惑的错误消息。真正的原因仅仅是“Tomcat无法部署战争”
useradd -d /opt/solr -s /sbin/false solr