2017-04-11 64 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仓库重新下载。它应该工作正常。