gpt4 book ai didi

eclipse - 努力更新 Maven 和 Eclipse 中的 JRE 依赖项

转载 作者:行者123 更新时间:2023-12-02 07:06:36 24 4
gpt4 key购买 nike

我正在尝试构建一个 large Open Source project在 eclipse 中;它使用 Maven,所以我安装了各种插件(m2eclipse 等),但我对此设置有点不熟悉。

我可以毫无问题地构建和运行我感兴趣的特定 JAR。然而,当新构建的 JAR 尝试打开一个大的 ZIP 文件时,我得到:

Exception in thread "main" java.lang.RuntimeException: java.util.zip.ZipException: invalid CEN header (bad sig
nature)
at org.opentripplanner.graph_builder.impl.GtfsGraphBuilderImpl.buildGraph(GtfsGraphBuilderImpl.java:17
9)
at org.opentripplanner.graph_builder.GraphBuilderTask.run(GraphBuilderTask.java:127)
at org.opentripplanner.graph_builder.GraphBuilderMain.main(GraphBuilderMain.java:51)
Caused by: java.util.zip.ZipException: invalid CEN header (bad signature)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)

did some research这个错误似乎意味着 java.util.ZipFile 无法读取该文件,因为它是 ZIP64 格式。显然这个问题在 Java 1.7 中得到了修复,所以我尽职尽责地更新了 OS X 上的 JDK,并尝试通过在 Eclipse 中右键单击 Maven 项目来更改它,然后更改 Project Facet,这反过来似乎又更新了该项目中的 JRE 库升级到 1.7:

enter image description here

但是,这不起作用 - 即使重新构建了整个项目,我仍然收到错误。

是否有可能仍在从某个地方拉入旧的 java.util.zip?我不太熟悉 Java 中链接的工作原理,旧的 JDK 可以像这样“嵌入”到依赖项中吗?或者 java.util.zip 是否只是在目标计算机上使用? (这绝对是 JRE 1.7)我知道抛出异常的代码实际上包含在一个单独的 JAR 中,该 JAR 作为 Maven 依赖项引入:

enter image description here

我是否需要针对 Java 1.7 追踪并重新构建此外部 JAR,这是这里的问题吗?或者是否存在 Maven“父项目”的概念,它将我的新 JRE 1.7 回归到 1.6?抱歉,如果这些问题很幼稚。

我原本以为这就像在运行时机器上更新 JRE 一样简单,但显然不是。那么我该如何解决这个错误呢?

最佳答案

假设问题确实是由使用旧版本的 Java 引起的,那么重建不会产生任何影响。 真正的问题是您的应用程序 JAR 在较旧的 JRE 上运行

在用于运行应用程序的命令 shell 中,运行 java -version。这将告诉您当您运行 java -jar yourApp.jar ...

时将使用什么 JDK/JRE

关于eclipse - 努力更新 Maven 和 Eclipse 中的 JRE 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16037414/

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