Ottengo la ff. errore nella Java Console occassionally:Il caricatore di classi di applet non riesce a trovare una delle classi nel jar
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
mio tag applet è la seguente:
<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>
E 'importante sottolineo la parola "di tanto in tanto". A volte l'applet viene inizializzata senza intoppi. Ciò significa anche che, spesso, quando il browser viene riavviato, il problema scompare.
Sono consapevole applet fails to load class from jar e Applet class loader cannot find a class in the applet's jar ma penso che non sono applicabili al mio caso. SomeClass e MyApplet si trovano nello stesso contenitore e la pagina è accessibile localmente.
Penso che quello che succede è che il plug-in del browser Java non è stato in grado di caricare la classe da myApplet__0.0.1177.jar e così è andato a cercarlo nella cartella del codebase. La domanda ora è che è in grado di caricare MyApplet ma non SomeClass? –
Quale versione di Java è utilizzata sul lato client? – uthark
Hai detto che la pagina è accessibile localmente, ma nei log vedo "myserver". È questo il nome della tua macchina localhost? Inoltre, quale browser usi per testare? Internet Explorer, Firefox? – uthark