如何在JNLP文件中指定applet库

时间:2010-12-14 16:18:01

标签: java jar applet jnlp next-generation-plugin

我正在尝试使用JNLP部署applet。因此文件结构是:

/
  dbstats.html
  dbstats.jnlp
  dbstats.jar
  lib/
    substance.jar
    trident.jar
    guava-0.7.jar

这是我的HTML:

<html>
    <head>
        <title>Dreambearstatistieken</title>

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

            var attributes = {
                code:'dreambear.stats.viewer.DBStatsViewer',
                width:900, height:600
            };
            var parameters = {jnlp_href: "dbstats.jnlp"};
            var version = "1.6";

        </script>

    </head>
    <body>

    <script type="text/javascript">
        deployJava.runApplet(attributes, parameters, version);
    </script>

    </body>
</html>

和JNLP文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>Dreambearstatistieken</title>
        <vendor>Weber</vendor>
    </information>
    <resources>
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
        <jar href="lib/trident.jar" />  
        <jar href="lib/substance.jar" />
        <jar href="lib/guava-r07.jar" />
        <jar href="dbstats.jar" main="true" />
    </resources>
    <applet-desc 
         name="Dreambearstatistieken"
         main-class="dreambear.stats.viewer.DBStatsViewer"
         width="900"
         height="600">
     </applet-desc>
     <update check="background" />
</jnlp> 

据我所知,一切都应该没问题,但事实并非如此。我在ClassNotFoundException org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel上获得substance.jar。我做错了什么?

更广泛的是,有没有关于在2010年使用applet和JNLP的好教程或书籍?

2 个答案:

答案 0 :(得分:1)

首先,您的codebase为空。据我所知,它应该包含应用程序的绝对路径。可能我错了,但从这开始。如果它有帮助,但您希望重用jnlp文件,请尝试codebase =“。” (虽然我不确定它是否合法。)

接下来,尝试使用浏览器下载lib目录下的一个jar。需要确保可以访问此目录。

祝你好运!

答案 1 :(得分:0)

您还必须将jlnp的名称放在href=""上。这样做:

<jnlp spec="1.0+" codebase="http://mydomain:5500/myapp" href="dbstats.jnlp">