Как указать библиотеки апплета в файле jnlp
-
10-10-2019 - |
Вопрос
Я пытаюсь развернуть апплет с помощью 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 -х годах?
Решение
Сначала ваш codebase
пусто. Насколько я помню, он должен содержать абсолютный путь к вашему приложению. Наверное, я ошибаюсь, но начинаю с этого. Если это помогает, но вы хотите повторно использовать файл JNLP, попробуйте CodeBase = "." (Хотя я не уверен, что это законно.)
Затем попробуйте скачать одну из банок в Lib Diefore с помощью браузера. Необходимо убедиться, что этот каталог доступен.
Удачи!
Другие советы
Вы должны положить jlnp
Имя на href=""
также. Сделай это так:
<jnlp spec="1.0+" codebase="http://mydomain:5500/myapp" href="dbstats.jnlp">