Java Applet, проблемы с JOGL из-за JNLPApplet

Nov 22, 2009 23:34

Проблема следующая: при запуске апплета построенного на JOGL приложение не может загрузиться и работать. Вылетают различные ошибки, вроде следующего:
JNLPAppletLauncher: static initializer
os.name = windows xp
nativePrefix = nativeSuffix = .dll
tmpRootDir = C:\DOCUME~1\Pech\LOCALS~1\Temp\jnlp-applet\jln508134623373710497
Applet.init
subapplet.classname = appletperron.Main
subapplet.displayname = en OpenGL por Esaias Pech
Applet.start
os.name = windows xp
os.arch = x86
processNativeJar: using previously cached: C:\Documents and Settings\Pech\.jnlp-applet\cache\pech_host22_com\43f444f5655f523040dfe31211ceb8dfabc991d6\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)
processNativeJar: using previously cached: C:\Documents and Settings\Pech\.jnlp-applet\cache\pech_host22_com\43f444f5655f523040dfe31211ceb8dfabc991d6\gluegen-rt-natives-windows-i586.jar
validateCertificates:
VALIDATE: gluegen-rt.dll
extractNativeLibs:
EXTRACT: gluegen-rt.dll(gluegen-rt)
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: net/java/games/jogl/GLEventListener
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)
Caused by: java.lang.ClassNotFoundException: net.java.games.jogl.GLEventListener
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)
... 13 more

Проблема заключается в несоовместимости JNLPAppletLauncher со свежими версиями JDK начиная с 1.6.0.7 и заканчивая на сегодняшний день 1.6.0.17.
Лечится все даунгрейдом jdk до версии 1.6.0.6.

Официальные примеры с сайта проекта не работают по той же причине.

За помощь в решении проблемы спасибо Михаилу Иванченко. Миша, привет =).

З.Ы.: OpenJDK и IcedTea в этом плане рулит.

jogl, issues, jnlpapplet, applet, java, jdk

Previous post Next post
Up