2010-09-10 53 views
0

我正在歌廳低於這個奇怪的例外:java.util.zip.ZipException:錯誤打開zip文件

INFO: Deploying web application archive ZangV3Spring.war 
10-Sep-2010 08:46:38 org.apache.catalina.startup.ContextConfig init 
SEVERE: Exception fixing docBase for context [/ZangV3Spring] 
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:80) 
    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:110) 
    at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:709) 
    at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:838) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:331) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:312) 
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:292) 
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:129) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:785) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:763) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:987) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:540) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1458) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:338) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1186) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1340) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1349) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1329) 
    at java.lang.Thread.run(Thread.java:619) 
10-Sep-2010 08:46:38 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:141) 
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4432) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4582) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:785) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:763) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:987) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:540) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1458) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:338) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1186) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1340) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1349) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1329) 
    at java.lang.Thread.run(Thread.java:619) 

如果我刪除從我的XML這個bean將建立和精細部署:

<bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"></property> 
    </bean> 

我的XML內容的其餘部分是這樣的:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
     http://www.springframework.org/schema/jee 
     http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> 

    <!-- http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd --> 

    <!-- Config properties files --> 



    <!-- Hibernate database stuff --> 


    <bean id="fileDownload" class="com.kc.models.FileManipulator"></bean> 

    <bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="locations"> 
      <list> 
       <value>properties/jdbc.properties</value> 
      </list> 
     </property> 
    </bean> 


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
     <property name="driverClassName" value="${database.driver}" /> 
     <property name="url" value="${database.url}" /> 
     <property name="username" value="${database.user}" /> 
     <property name="password" value="${database.password}" /> 
     <property name="maxActive" value="${database.maxConnections}" /> 
    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"></property> 
    </bean> 



    <!-- 

    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> 
     <property name="sessionsFactory" ref="sessionFactory"></property> 
    </bean> 


    --> 
</beans> 
+0

你找出原因了嗎? – rshepherd 2010-12-29 21:02:08

回答

0

看來,你的戰爭文件已損壞。嘗試重新創建它。並嘗試用zip程序打開它(如winrar)

+0

我已經嘗試重新創建它多次,仍然是相同的錯誤。我也用winrar打開它。我認爲它與我所做的SessionFactory bean有關,但錯誤日誌真的不清楚 – jonney 2010-09-10 10:31:56

+0

在日誌中沒有其他的東西嗎?這很奇怪。 – Bozho 2010-09-10 11:14:29

1

當tomcat6在錯誤的位置查找war文件時,我得到了同樣的錯誤。恕我直言,非常誤導性的錯誤信息。改變配置指向正確的地方,它的工作。

0

具有相同erorr,但在日誌它第二誤差,第一:

嚴重:異常固定的docBase上下文[/ readfromnet] java.util.zip.ZipException:錯誤在打開zip文件

所以,我認爲Tomcat在完全上傳之前開始解壓縮戰爭

0

一旦清除所有.jar關聯的項目,然後自動構建它們。現在你可以啓動你的jboss服務器來解決你的問題。這解決了我的結局。

0

確實,.war文件被破壞......或者您可能只需要更改它的權限。我也碰到過這個。幸運的是我正在升級,並有舊的.war文件進行比較。

在舊版本上有-rw-r-r--在新版本上有-rw-r -----。快速:

$ sudo chmod 644 <filename>.war 

固定它。

相關問題