gpt4 book ai didi

java - 更新 jar 中的文件会抛出 ZipException

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:18 29 4
gpt4 key购买 nike

我正在尝试使用以下命令更新现有 jar(在此示例中为 antlr)中的文件:

jar -uf antlrworks-1.2.3.jar org/antlr/codegen/templates/Java/Java.stg 

但我收到以下消息

java.util.zip.ZipException: duplicate entry: antlr/ANTLRError.class at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175) at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92) at sun.tools.jar.Main.update(Main.java:508) at sun.tools.jar.Main.run(Main.java:185) at sun.tools.jar.Main.main(Main.java:1044)

有什么想法吗?

最佳答案

您正在尝试做正确的事情,但是 jar 文件有问题 - 它有两次相同的条目:( jar 提示。)

如果你跑

jar tvf antlrworks-1.2.3.jar > contents

然后查看生成的contents 文件,您会看到有各种重复文件。您可能应该将此报告给 antlr 项目(在检查他们是否还不知道之后)。

作为解决方法,您可以提取 jar 文件的内容,再次将其打包,然后您将拥有一个可以更新的“工作”jar 文件。 (如果你只需要这样做一次,你可以只提取,把你想要的文件放在那里,然后把所有的东西都打包起来,而不是事后更新它。)

关于java - 更新 jar 中的文件会抛出 ZipException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790430/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com