Java "Class not found" med senaste JRE

Permalänk
Medlem

Java "Class not found" med senaste JRE

Satt och uppdaterade min cubemap viewer applet för någon månad sedan och rotade då i java och jogl för första gången på ett par år typ. Sen släppte jag projektet, men nu efter att java auto-uppdaterade till 1.6.21 märker jag att den inte funkar längre, med ett "Class Not Found" error. Nergraderar jag till 1.6.20 så funkar den igen. Jag har kollat efter ledtrådar i officiella release notes och googlat runt, men hittar inget. Någon som har mer erfarenhet av java/applet utveckling som har någon magkänsla för vad som skulle kunna vara problemet och hur man fixar det?

Appleten finns här:
Debug

Loggen i konsollen med 1.6.21:

Java Plug-in 1.6.0_21 Using JRE version 1.6.0_21-b07 Java HotSpot(TM) Client VM User home directory = C:\Users\Humus ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message l: dump classloader list m: print memory usage o: trigger logging q: hide console r: reload policy configuration s: dump system and deployment properties t: dump thread list v: dump thread stack x: clear classloader cache 0-5: set trace level to <n> ---------------------------------------------------- JNLPAppletLauncher: static initializer os.name = windows vista nativePrefix = nativeSuffix = .dll tmpRootDir = C:\Users\Humus\AppData\Local\Temp\jnlp-applet\jln1170144757233698934 Applet.init subapplet.classname = ImageViewer subapplet.displayname = Image viewer Applet.start os.name = windows vista os.arch = x86 processNativeJar: using previously cached: C:\Users\Humus\.jnlp-applet\cache\www_humus_name\ac6903507ddae5a8c22d286f5687c2fa280a566e\gluegen-rt-natives-windows-i586.jar validateCertificates: VALIDATE: gluegen-rt.dll extractNativeLibs: EXTRACT: gluegen-rt.dll(gluegen-rt) processNativeJar: using previously cached: C:\Users\Humus\.jnlp-applet\cache\www_humus_name\ac6903507ddae5a8c22d286f5687c2fa280a566e\jogl-natives-windows-i586.jar validateCertificates: VALIDATE: jogl.dll VALIDATE: jogl_awt.dll VALIDATE: jogl_cg.dll extractNativeLibs: EXTRACT: jogl.dll(jogl) EXTRACT: jogl_awt.dll(jogl_awt) EXTRACT: jogl_cg.dll(jogl_cg) java.lang.ClassNotFoundException: ImageViewer at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.jdesktop.applet.util.JNLPAppletLauncher.startSubApplet(JNLPAppletLauncher.java:1914) at org.jdesktop.applet.util.JNLPAppletLauncher.access$200(JNLPAppletLauncher.java:658) at org.jdesktop.applet.util.JNLPAppletLauncher$5.run(JNLPAppletLauncher.java:1269) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) 03-Aug-2010 23:28:47 org.jdesktop.applet.util.JNLPAppletLauncher displayError SEVERE: Class not found: ImageViewer

Permalänk
Medlem

Hade samma fel för några månader sedan. Har för mig att felet var sökvägen i HTMLen och det inte var något fel på javan.

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

Mmm, fast det funkar ju om jag nergraderar JRE, så något har ju ändrats i java maskineriet som gör att det inte funkar längre. Svårt att veta om det är Oracle som har fuckat upp, eller troligare, att det är ett fall av "works by accident" där det som inte borde ha funkat från början nu till slut gått sönder. Alternativt någon ny säkerhetspolicy som man måste förhålla sig till, men det verkar ju inte så enligt release notesen.

Classen den inte hittar ligger i ImageViewer.jar som ligger bredvid HTMLen. Jag har provat att skriva in en fullständig address till den också, men det hjälper inte. Vet inte riktigt vad mer den kan begära för att fatta var den ska leta efter klassen.

Permalänk
Medlem

Testa att cleara din jar-cache i javas kontrollpanel. Den kan strula ibland. Det heter "temporära internet filer" i den svenska versionen.