gpt4 book ai didi

Java Web Start 应用程序反复询问不存在的文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:35 24 4
gpt4 key购买 nike

我用 NetBeans 制作的所有应用程序作为 Java Web Start 应用程序的行为都非常奇怪。当我将它们作为普通应用程序运行时,一切正常。

但是当我将它们编译为 java web start 应用程序时,它们 java web start 完成加载后,反复向服务器请求错误位置的库。在小型项目中这似乎并不重要,但在大型项目中却会产生巨大的时间差异(请参阅我的第一个问题)。

我放了一个简单的NetBeans项目here 。它应该用一个不执行任何操作的按钮绘制一个窗口。 (如果您尝试将其放在某处,请将 dist 文件夹上传到某处并编辑 .jnlp 文件)

您可以从日志(在logs.txt中)看到,这些库首先从/awindow_dist/lib/下载得很好,但随后有很多请求发送到错误的位置/awindow_dist/。有什么问题吗?一切似乎都配置得很好。

这是 NetBeans 错误吗? WebStart 错误?还是我的错?

最佳答案

好吧,这绝对是 NetBeans 中的一个错误,很可能是在 NB 生成的 build.xml 文件中。

我有点迷失在巨大的 build.xml 和 build-impl.xml 和 jnlp-impl.xml 中,但是我在 NetBeans 中使用 Java Web Start 的肮脏解决方法是:

  1. 将生成的 JNLP 复制到某处,因为它很好
  2. 在 NetBeans 项目中关闭 JWS
  3. 不要让 NetBeans 签署 .jar 文件,而是编写一些像这样的 shell 脚本

    ant clean
    ant jar
    #because these two works fine

    for i in `ls dist/*.jar; ls dist/lib/*.jar`
    do
    jarsigner -storepass mystorepass -keypass mykeypass $i myname
    #sign all the .jars
    done

    cp launch.jnlp dist/launch.jnlp
    #copy the .jnlp
  4. 使脚本成为 build.xml 中的目标,如 this

完成。这是一个肮脏的黑客行为,只能与 bash 一起使用,因为我真的不知道 ant 是如何工作的 + 由 netbeans 生成的构建文件非常复杂。但它可以完成工作。

关于Java Web Start 应用程序反复询问不存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428704/

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