Ich versuche, ein Applet mit JNLP zu implementieren. Die Dateistruktur ist somit:So geben Sie Applet-Bibliotheken in der JNLP-Datei an
/
dbstats.html
dbstats.jnlp
dbstats.jar
lib/
substance.jar
trident.jar
guava-0.7.jar
Hier ist mein 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>
Und die JNLP-Datei:
<?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>
Soweit ich sehen kann, ist alles in Ordnung sein sollte, aber es ist nicht. Ich bekomme eine ClassNotFoundException
auf org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel
, die in substance.jar
ist. Was mache ich falsch?
Und weiter, gibt es ein gutes Tutorial oder Buch über die Verwendung von Applets und JNLP in den 2010er Jahren?
Es arbeitet mit '.', aber nur, wenn ich das Zeug auf einen Server hochladen. Nicht wenn ich die html Datei lokal öffne. –
Für ein eingebettetes JWS-Applet sagte Sun, das Codebase-Attribut vollständig zu entfernen (beachten Sie, dass es nicht dasselbe ist, als wenn es dort mit einem leeren Wert wäre). In diesem Fall wird angenommen, dass die Codebasis der Ort des Applet-HTML ist - wo auch immer die Applet-Seite, die sie einbettet. –
Guter Punkt, Andrew. Das wusste ich nicht. Ich werde diese Methode beim nächsten Mal mit JNLP ausprobieren. – AlexR