java - jws 应用程序无法加载 swing-layout

标签 java swing jakarta-ee java-web-start

我有一个使用 swing-layout 的旧应用程序,我必须通过 java webstart 使其可用。它从 netbeans 运行良好,但如果我使用 jws 启动它,我会收到此错误:

exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
    at Gui.Accueil.jMenuItemConsPHActionPerformed(Accueil.java:2331)
.....
Caused by: java.lang.ClassNotFoundException: org.jdesktop.layout.GroupLayout$Group
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 41 more

我尝试在 jnlp 文件中添加 swing-layout,但运行时出现此错误:

com.sun.deploy.net.FailedDownloadException: Impossible de charger la ressource : http://my_url:8080/___JWSappclient/___app/test/lib/swing-layout-1.0.4.jar

这是 jnlp :

<jnlp spec="1.0+" codebase="" href="">

    <information>
        <title>test </title>
           </information>
    <eligible>True</eligible>
    <security>
        <all-permissions/>
    </security>
    <resources>

        <jar href="./lib/swing-layout-1.0.4.jar"/> 
    </resources>

</jnlp>

谢谢。

第一次编辑:

我已经删除并尝试了许多路径,但几乎是相同的错误com.sun.deploy.net.FailedDownloadException:不可能从资源中获取充电器:http://url/___JWSappclient/___app/test/lib/swing-layout-1.0.4.jar

我尝试将 swing-layout 名称更改为 sl.jar 但没有帮助。 我不明白的是为什么 jws 尝试从服务器下载 swing-layout.jar ?

最佳答案

元素<eligible>没有出现在JNLP File Syntax中,并且您的文件格式错误,如图所示。在你的previous question在这个主题中,您提到需要支持 Java 6。要支持 Java 5,请在 <resources> 中指定。 。 JAR 包含 org.jdesktop.layout.GroupLayout看起来正确,但路径可疑。尝试这样的事情:

<resources>
    <j2se version="1.5+" />
    <jar href="lib/swing-layout-1.0.4.jar"/>
</resources>

附录:我不明白为什么 JWS 尝试下载 swing-layout.jar 来自服务器

JNLP 客户端通过 HTTP 从服务器下载所有 JAR。每个 JAR 必须可使用 href 中指定的相对路径进行访问。属性。特别是,包含应用程序 JAR 和 JNLP 文件的目录还必须具有 lib包含布局 JAR 的目录。

test/
    application.jnlp
    application.jar
    lib/
        swing-layout-1.0.4.jar

关于java - jws 应用程序无法加载 swing-layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578203/

相关文章:

java - 将 XML 保存到相对文件位置。

java - 如何将鼠标光标放在 JFileChooser 上的 OPEN 按钮上?

java - 路径更改时 getResourceAsStream 返回 null

java - 在 JUnit 测试中模拟按键

java - 禁用时 JTree 的自定义节点图标

java - 从命令行执行 Jar 文件,文件夹名称中包含空格

gradle - 如何在Tomee Web服务器上运行gradle Web项目?

java - 无法在 ubuntu 中编译 servlet

java - java延迟递归回溯

java - 计算机锁定时运行 java swing fest 测试