ZipException:运行应用程序时无效距离太远的错误

时间:2013-05-16 17:57:15

标签: java gwt resteasy

我有一个使用Resteasy作为后端api / service的GWT应用程序,该项目正常工作,但当我将项目移动到另一台机器并运行它时,我在执行GWT运行时遇到此错误:

Caused by: java.util.zip.ZipException: invalid distance too far back
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:193)
    at java.util.jar.JarInputStream.read(JarInputStream.java:207)
    at org.scannotation.archiveiterator.InputStreamWrapper.read(InputStreamWrapper.java:36)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    at java.io.DataInputStream.readInt(DataInputStream.java:387)
    at javassist.bytecode.ClassFile.read(ClassFile.java:731)
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
    at org.scannotation.AnnotationDB.scanClass(AnnotationDB.java:343)
    at org.scannotation.AnnotationDB.scanArchives(AnnotationDB.java:326)
    at org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.createDeployment(ConfigurationBootstrap.java:163)
    ... 24 more

可能是什么问题?

  • GWT罐子还是Resteasy? ZipException是什么意思?这是否意味着依赖损坏?

4 个答案:

答案 0 :(得分:6)

我将在这里说你有一个类兼容性错误或损坏的Jars(看看调用堆栈,它试图从jar文件加载类)。

验证两个系统上是否具有完全相同的Java版本,然后将整个项目从工作主机复制到非工作主机。你可能有一个损坏的Jar。

基本上确保一切都相同,然后重试

答案 1 :(得分:2)

有时您的防火墙会破坏ftp连接,因此请尝试在您使用的防火墙上保留java 7的异常。在 Windows 7 中,它是:

netsh advfirewall set global statefulftp disable 

通过以管理员身份运行命令提示符来执行此操作。

答案 2 :(得分:1)

基本上我的项目是在Bitbucket中托管的。所以我做的是创建一个文件夹,作为新的工作区文件夹。然后,git clone那里的项目。然后发出mvn clean install和mvn gwt:run然后一切正常。

答案 3 :(得分:0)

我不知道您的问题是否相同,但我遇到了同样的错误,并发现它与Firefox版本相关&gt; 10.0。出于某种原因,Firefox会转换任何&#34;!&#34;字符变成&#34;%21&#34;。

在我的cenario中,由于这个事实,我的应用程序在渲染图像时触发了此错误。 Chrome上也没有发生同样的情况。

可以通过实施过滤器来处理请求来处理这种情况。

如果此案例符合您的问题,请查看此帖子: javax.faces.FacesException: Error decode resource data while loading JSF page