Как указать библиотеки апплета в файле JNLP - PullRequest
1 голос
/ 14 декабря 2010

Я пытаюсь развернуть апплет с использованием 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> 

Насколько я вижу, все должно быть хорошо, но это не так. Я получаю ClassNotFoundException на org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel, который находится в substance.jar. Что я делаю не так?

И в целом, есть ли хорошее руководство или книга по использованию апплетов и JNLP в 2010-х?

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Сначала ваш codebase пуст.Насколько я помню, он должен содержать абсолютный путь к вашему приложению.Возможно, я ошибаюсь, но начнем с этого.Если это помогает, но вы хотите повторно использовать файл jnlp, попробуйте codebase = "."(хотя я не уверен, что это законно.)

Далее попробуйте скачать один из jar-файлов в каталоге lib с помощью браузера.Нужно быть уверенным, что этот каталог доступен.

Удачи!

0 голосов
/ 10 мая 2016

Вы должны также поставить имя jlnp на href="".Сделайте это так:

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