Erstellen einer Java -Applet -Ausnahme: Fehlende Feld
-
27-10-2019 - |
Frage
Ich bin ein bisschen am Ende meines Witzes und versuche, mein Java -Spiel in einen Browser zu arbeiten. Ich habe es erfolgreich geschafft, es als Java-Web-Start-Anwendung auszuführen, aber es macht mich verrückt.
Myapplet.jnlp:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="MYAPPLET.jar" codebase="http://www.myDomain.com/directoryContainingJar/">
<information>
<title>Name</title>
<vendor>----</vendor>
<offline-allowed />
</information>
<resources>
<j2se version="1.4+"
href="http://java.sun.com/products/autodl/j2se" />
<jar href="MYAPPLET.jar" main="true" />
</resources>
<applet-desc
name="Name"
main-class="main.MainClass"
width="700"
height="600">
</applet-desc>
</jnlp>
In meiner HTML -Datei:
<applet width="700" height="600" code="main.MainClass">
<param name="jnlp_href" value="MYAPPLET.jnlp">
</applet>
Ich erhalte diesen Fehler beim Laden der Seite:
ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>]
at sun.plugin2.applet.JNLP2Manager.redirectLaunchDesc(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source)
at sun.plugin2.main.client.PluginMain.initManager(Unknown Source)
at sun.plugin2.main.client.PluginMain.access$300(Unknown Source)
at sun.plugin2.main.client.PluginMain$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Error while initializing manager: ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>], bail out
Ich habe die Hauptklasse so geändert, dass sie extends JApplet
Anstatt von JFrame
Aber abgesehen davon weiß ich nicht, was ich tun soll.
Und ja, ich habe gelesen http://docs.oracle.com/javase/tutorial/deployment/applet/deployingapplet.html und google den Fehler.
Lösung
Das JNLP -Element sollte sein:
<jnlp href="MYAPPLET.jnlp" codebase="http://www.myDomain.com/directoryContainingJar/">
Oder, da es häufiger wäre, die Codebasis 1st zu haben.
<jnlp codebase="http://www.myDomain.com/directoryContainingJar/" href="MYAPPLET.jnlp">
Stellen Sie jedoch sicher, dass Sie den JNLP verwenden Janela. Es kann einen JNLP weitaus besser überprüfen als ich, indem ich es mir ansiehst.
Andere Tipps
Dies scheint ein Fehler in JDK Version 1.6 Update 14 zu sein: http://www.canoo.com/jira/browse/uba-8105. Welchen JDK verwenden Sie? Versuchen Sie es mit einem JDK 1.7.