当前位置: 首页 > 面试题库 >

java.util.zip.ZipException:无效的CEN标头(错误的签名)

于飞飙
2023-03-14
问题内容

在执行这段(相对简单的)代码时,我得到了这个错误:

    ZipFile zf = new ZipFile(fn);
    Enumeration<? extends ZipEntry> eze = zf.entries();
    while (eze.hasMoreElements()) {
        ZipEntry ze = eze.nextElement();
        System.out.println(ze.getName());
    }
    zf.close();

其实。有趣的是,我在java-sun-6u32和java-1.6.0-openjdk-amd64上得到它,但是java-
sun-7u4成功了。解压缩本身似乎可以解决问题。我猜这意味着这些zipfile可能是由Java
7可以理解的某些较新版本的zip创建的,而以前的版本则不是。但是,任何见识将不胜感激。另外,由于在生产中我真的没有使用Java
7的选择,任何使Java早期版本都能理解这个新版本zip的方法(当然,如果实际上 问题所在)。

谢谢!


问题答案:

7z l -slt 您评论中提供的输出非常有用:

类型= zip 64位

提示它是 ZIP64ZIP 规范的4.5版)。但是,尽管 Java7 支持它,但是 目前 还没有将该支持 反向 移植到
Java6 ,您将不得不诉诸外部库,例如Apache
Compress。

PS供参考,file test.zip会输出类似

test.zip: Zip archive data, at least v4.5 to extract


 类似资料:
  • 我在Maven构建期间收到此错误。 无法执行目标组织。阿帕奇。专家插件:maven shade插件:2.4.3:项目dl4j上的shade(默认)示例:创建着色jar时出错:无效的LOC头(错误签名)- 这是我的pom。xml文件。 我多次尝试删除jar文件,但似乎都不起作用。

  • 运行时出现以下异常。我甚至删除了本地存储库,并再次运行,得到相同的异常。 [错误]无法执行目标org.apache.maven.plugins:maven-shade-plugin:2.1:在项目核心上的shade(默认)-batch:创建带阴影的JAR时出错:无效的锁头(错误签名)->[帮助1] 错误:

  • 问题内容: 我已经经历过类似的帖子。我已经尝试了大多数解决方案,但无法摆脱我遇到的错误。希望对此有所帮助。 在将Maven依赖项添加到部署程序集之后,出现了此错误。我将STS与Pivotal tc Server Development Edition v3.1一起使用。我已经检查了tc服务器和java home的版本。两者都使用Java 8。 我不明白问题是什么。 以下是我的pom.xml。当我尝

  • 我是Maven的新手。我正在尝试为springMVC Hiberante创建Maven项目,但我遇到了很多错误。有人能解决我的问题吗?请检查我的pom。下面的xml 但是我得到了以下错误 有人能帮我解决问题吗?我使用的是apache-maven-3.2.1 Java1.6 ecpliseIndigo

  • 问题内容: 我尝试用码头运行一个非常简单的RESTful apache- camel项目。我遵循了http://camel.apache.org/restlet.html中的说明。 我的应用程序将运行,但是我无法查看我的项目,因为每个功能都会从码头收到错误503。在Eclipse中,我可以在java.util.zip.Zipexecution中看到一些错误。(在下面发布),但是我没有使用该lib,