1

我正在尝试使用 JNLP 部署一个小程序。因此文件结构如下:

/
  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> 

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

更广泛地说,是否有关于在 2010 年代使用小程序和 JNLP 的好教程或书籍?

4

2 回答 2

1

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

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

祝你好运!

于 2010-12-14T16:58:39.943 回答
0

你也必须把jlnp' 的名字放在上面href=""。像这样做:

<jnlp spec="1.0+" codebase="http://mydomain:5500/myapp" href="dbstats.jnlp">
于 2016-05-10T19:42:57.427 回答