使用JNLP文件启动应用程序

时间:2011-12-07 11:16:34

标签: java jsp jnlp

我有一个jsp页面:

<html>
    <head>
        <title>Try in JNLP</title>

        <script src="http://www.java.com/js/deployJava.js"></script>

        <script>    
             var dir = location.href.substring(0, location.href.lastIndexOf('/')+1);
            var url = dir + "try.jnlp";
            deployJava.createWebStartLaunchButton(url, '1.6.0');
        </script>
        <noscript>JavaScript is required for this page.</noscript>

    </head>

    <body>
    </body>
</html>

并有一个jnlp文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/try/" href="try.jnlp">

    <information>
        <title>TRY JNLP</title>
        <vendor>TRY JNLP</vendor>
    </information>

    <resources>
        <!-- Application Resources -->

        <jar href="TryJNLP.jar" main="true" />
    </resources>

    <application-desc name="Try JNLP"  main-class="tryjnlp.TRYJNLPApp">
     </application-desc>

    <update check="background"/>

</jnlp>

所有的jar都在各自的目录中,但是当我双击jnlp文件时,它会显示错误信息:

java.lang.NoClassDefFoundError: org/jdesktop/application/SingleFrameApplication

带有完整的错误堆栈。

就好像我只是通过双击运行我的swing应用程序(TryJNLP.jar),它运行得很好。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

由于此代码似乎依赖于JSR 296,因此有必要将:ApplicationFramework-<version>.jar添加到应用程序的运行时类路径中(在JNLP的资源部分中)。