Ich bekomme die ff. Fehler in Java Console occassionally:Applet Klassenladeprogramm kann keine der Klassen im Jar finden
Exception in thread "thread applet-my.package.MyApplet-10" java.lang.NoClassDefFoundError: another/package/SomeClass
at my.package.MyApplet.init(MyApplet.java:95)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: another.package.SomeClass
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 3 more
Caused by: java.io.IOException: open HTTP connection failed:https://myserver/mycontext/applets/another/package/SomeClass.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
ist mein Applet-Tag wie folgt:
<applet codebase="../../applets" code="my.package.MyApplet" class="invisible" id="myApplet">
<param value="value0" name="param0"/>
...
<param value="valueN" name="paramN" />
<param value="folder/myApplet__0.0.1177.jar,folder/commons-io-1.3.2__0.0.1177.jar,..." name="cache_archive"/>
<param value="0.0.1177.0,0.0.1177.0,...," name="cache_version"/>
</applet>
Es ist wichtig, ich das Wort "gelegentlich" betonen. Manchmal wird das Applet ohne Probleme initialisiert. Dies bedeutet auch, dass das Problem oft beim Neustart des Browsers verschwindet.
Ich kenne applet fails to load class from jar und Applet class loader cannot find a class in the applet's jar, aber ich denke, dass sie nicht auf meinen Fall anwendbar sind. SomeClass und MyApplet befinden sich im selben Jar und auf die Seite wird lokal zugegriffen.
Ich denke, was passiert ist, dass das Java-Browser-Plug-in nicht in der Lage war, die Klasse von myApplet__0.0.1177 zu laden.jar und so ging es im Codebase-Ordner suchen. Die Frage ist nun, wie kann ich MyApplet, aber nicht SomeClass laden? –
Welche Java-Version wird auf der Clientseite verwendet? – uthark
Sie haben gesagt, dass auf die Seite lokal zugegriffen wird, aber in Protokollen sehe ich "myserver". Ist dieser Name Ihres lokalen Host-Computers? Auch welchen Browser verwenden Sie zum Testen? Internet Explorer, Firefox? – uthark