2017-04-11 121 views
0

我使用Tomcat 8和新澤西州等的依賴於動態Web項目。而拋出:ZipException新澤西

<dependencies> 
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-client --> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-client</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-server --> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-core --> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-core</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-servlet --> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
</dependencies> 

運行當我收到所造成的錯誤:

Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature) 
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113) 
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) 
... 12 more 
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature) 
at java.util.zip.ZipFile.read(Native Method) 
at java.util.zip.ZipFile.access$1400(Unknown Source) 
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source) 
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source) 
at java.util.zip.InflaterInputStream.read(Unknown Source) 
at sun.misc.IOUtils.readFully(Unknown Source) 
at java.util.jar.JarFile.getBytes(Unknown Source) 
at java.util.jar.JarFile.getManifestFromReference(Unknown Source) 
at java.util.jar.JarFile.getManifest(Unknown Source) 
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111) 
... 13 more 

我無法找出什麼我做錯了。這種Jersey的依賴和Tomcat版本的兼容性有問題嗎? 如果您需要,我可以添加一些有關項目的總體信息。

+0

的最佳答案:損壞的jar文件。太糟糕了錯誤信息不包括有問題的文件的名稱。我會建議嘗試調試Tomcat和將斷點上'ZipException',所以你可能能夠找到導致您的問題的文件。 – Andreas

+0

這似乎很困難)也許有人可以分享澤西島的工作版本? –

+0

的文件是在[Maven庫(https://mvnrepository.com/artifact/com.sun.jersey)。去手動下載它們,然後比較你有什麼。 – Andreas

回答

0

我一直無法重現你的錯誤;我用你的依賴和我的澤西應用程序工作正常。 這絕對是一個腐敗的罐子,由多個其他問題表示:tomcat server fails to start the server and application in STSServer does not starts with spring appTomcat Server failing to start。有時會在網絡連接出現問題而瓶子正在下載時發生。

  1. 刪除所有罐子在Maven資源庫文件夾,在默認情況下位於Users/{yourusername}/.m2/repository

  2. 右鍵點擊你的項目,選擇Maven的 - >更新項目 - >查看快照/發佈的強制更新 - >確定。

所有的jar文件都會從Maven倉庫重新下載。它應該工作正常。