0

我有一个使用 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: Impossible de charger la ressource : http://url/___JWSappclient/___app/test/lib/swing-layout-1.0.4.jar

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

4

1 回答 1

2

该元素<eligible>未出现在JNLP File Syntax中,并且您的文件格式不正确,如图所示。在您之前关于此主题的问题中,您提到需要支持 Java 6。要支持 Java 5,请在<resources>. 包含的 JARorg.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 的目录。

测试/
    应用程序.jnlp
    应用程序.jar
    库/
        swing-layout-1.0.4.jar

于 2012-06-21T00:04:56.247 回答