【问题标题】:Java webstart complaining about missing jar that isn't in my library anymore (Netbeans)Java webstart 抱怨缺少我的库中不再存在的 jar (Netbeans)
【发布时间】:2014-06-04 13:02:01
【问题描述】:

在通过 webstart 运行我的 Java 应用程序时,我偶然发现了一些奇怪的行为。我曾经在 Netbeans 7.3.1 中将 iText jar 添加到我的项目中。最近,我从我的库中删除了这些 jars(通过项目属性),因为我不再使用它了。我已经重建了项目(使用代码签名证书),没有任何错误并将新的更新上线。

现在,当我第一次通过 Java webstart (JNLP) 打开应用程序时,我收到以下错误(来自 Java 控制台):

...
basic: exception: Unable to load resource: http://<my url>/lib/itextpdf-5.3.1-javadoc.jar.
ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://<my url>/lib/itextpdf-5.3.1-javadoc.jar
at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ignored exception: ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://<my url>/lib/itextpdf-5.3.1-javadoc.jar
...

下载其他 jar 包没有问题。如果我对这个特定的 jar 有任何虚假引用,我已经在我的项目中进行了搜索,但我没有找到任何东西。我的 JNLP 文件中没有引用,我的 project.properties 文件中没有引用,我的 private.properties 文件中没有引用,...

我第二次启动应用程序时,它启动时没有给出错误消息...

任何想法可能是什么问题或我可以检查什么?

提前致谢!

编辑

当我禁用“在我的计算机上保留临时文件”时,问题似乎消失了。当我重新启用它时,问题再次出现...运行 javaws -clearcache 似乎没有帮助..

EDIT2

因此,由于我仍在尝试查明此问题的确切原因,因此我在 Netbeans 7.4 中创建了一个新的 JavaFX 项目。我将我的 src 文件夹从旧项目文件夹复制到新文件夹,在 Netbeans 7.4 中重新打开新项目并修复丢失的 jar 和库。 我已经重建项目并将其放到网上,但仍然存在相同的问题(启用缓存),但是,现在它不是 iText jar,而是这个:

ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://<my url>/lib/asm-all-repackaged-2.1.88.jar
at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

那个 jar 确实不在我的 lib 文件夹中,但我没有在我不知道的情况下将它添加到我的项目中的任何位置。该应用程序本身使用 Jersey 1.8(不是 2)来处理 REST 请求。这有什么关系吗?任何信息都会很有价值。

【问题讨论】:

  • 您是否使用 Java 8 JRE 来启动应用程序?我已经提交了一个类似的错误:bugs.openjdk.java.net/browse/JDK-8034816 已在 8u20-b10 中解决。
  • 不,我使用的是 7u55 JRE(和 7u55 JDK)
  • 它似乎与缓存有关,由于某种原因,当启用缓存时,它会尝试查找幽灵罐子或其他东西(请参阅原始问题中的编辑)

标签: java netbeans javafx-2 java-web-start jnlp


【解决方案1】:

好的,我找到了解决方案……这实际上很愚蠢,但我很高兴我解决了它:

  • iText jar 的问题已通过创建新项目得到解决
  • 其他 jars 丢失的问题 (asm-all-repackaged-2.1.88.jar, ...) 是因为 Jersey 2.0 和 JAX-RS 2.0 库没有添加到新创建的项目中.我确实觉得这很奇怪,因为我确实添加了 jersey-bundle-1.18.jar(所以它应该使用那个不?)

但是我仍然觉得奇怪的是,该应用程序在禁用 java 缓存的情况下工作(并且没有 Jersey 2.0 和 JAX-RS 2.0 lib),为什么它在启动时没有给出错误,并且只有在启用缓存时才给出错误?

无论如何,问题已经解决了,但如果有人有时间澄清这一点,请继续:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-31
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 2013-05-03
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多