Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ZipException when deploying war file

843842Jun 5 2010 — edited Jun 28 2010
I'm able to place a war file I've created into the webapps directory of my local Tomcat installation on my machine and Tomcat will auto expland, or explode, the war file and deploy the application for the context. Tomcat will do this successfully even when an existing war file and context directory are being overwritten.

But when I attempt to deploy the same war file to a remote server, and overwrite a war file that is already there, which hopefully will overwrite an existing directory, the war file does not expand properly. In fact, the files in the directory are removed all together although the web-inf directory remains. The remote version of Tomcat is a different minor version of 6.

Moreover, I see the following error stack in the catalina.out file:
Jun 2, 2010 7:32:55 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive foobar.war
Jun 2, 2010 7:32:55 AM org.apache.catalina.startup.ContextConfig init
SEVERE: Exception fixing docBase for context [/foobar] 
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:882)
	at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1017)
	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:5439)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4215)
	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:526)
	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:619)
Jun 2, 2010 7:32:55 AM 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:4086)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4255)
	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:526)
	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:619)
I'd appreciate any suggestions or advice regarding how to resolve this. Thanks.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 26 2010
Added on Jun 5 2010
11 comments
7,651 views