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

时间:2012-06-20 19:59:30

标签: java swing java-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: 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?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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