Is this error that it can't find the jar file or it can't find the
hardware specific .dll or .so library. Where is it trying to look for
them (and failing)?
I don't understand where the applet (when it's running in the browser)
is trying to find things eg
com.sun.opengl.impl.windows.WindowsGLDrawableFactory.
Although I developed this on my windows machine I've now deployed it on
my linux machine. The idea is for my windows box to act like any other
user on the web's PC.
I'm assuming (correctly?) that the JNLPAppletLauncher wraps my applet in
code thats trusted (from sun.com) and that means that any other
requirements can be obtained from the web (where? my linux box? sun?).
The purpose of the JNLP wrapper is to prevent users being faced with a
"do you trust this remote site" box and installing software just to see
my applet.
Someone also suggested the verbose appletviewer method to see the path
it's looking at but I need to test this from the browser, I already know
it works when run locally.
I've spent over a week trying to track this down
I've developed a jogl applet that runs (as an applet) in Eclipse (on
a Windows machine).
I've copied it to my webserver (a Linux machine) and I'm attempting
to run it inside a JNLPAppletLauncher. I can run a simple "hello
world" applet in this manner with no problems.
As far as I can see I've got everything needed.
When I try to run it from the windows machine I get this error:
"Exception in thread "AWT-EventQueue-32"
java.lang.NoClassDefFoundError:
Could not initialize class
com.sun.opengl.impl.windows.WindowsGLDrawableFactory"
Could someone tell me what this error - below - means (eg a jar file
can't be seen, a dll can't be retrieved, something missing on the
server, something missing on the client browser, etc).
I've spent over a week trying to track this down
I've developed a jogl applet that runs (as an applet) in Eclipse (on a
Windows machine).
I've copied it to my webserver (a Linux machine) and I'm attempting to
run it inside a JNLPAppletLauncher. I can run a simple "hello world"
applet in this manner with no problems.
As far as I can see I've got everything needed.
When I try to run it from the windows machine I get this error:
"Exception in thread "AWT-EventQueue-32" java.lang.NoClassDefFoundError:
Could not initialize class
com.sun.opengl.impl.windows.WindowsGLDrawableFactory"
Trace and html below
------WEB PAGE------------------
<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
width=600
height=400
archive="http://download.java.net/media/applet-launcher/applet-launcher.jar,http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar,http://download.java.net/media/gluegen/webstart/gluegen-rt.jar,http://www.PublicProperty.co.uk/SmartVert/SmartVert.jar,http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl-demos.jar">
<param name="codebase_lookup" value="false">
<param name="subapplet.classname" value="SmartVert">
<param name="subapplet.displayname" value="SmartVert">
<param name="noddraw.check" value="true">
<param name="progressbar" value="true">
<param name="jnlpNumExtensions" value="1">
<param name="jnlpExtension1"
value="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp">
</applet>
-------JAVA CONSOLE---------------
Reading certificates from 11321
http://download.java.net/media/applet-launcher/applet-launcher.jar |
J:\Documents and Settings\arlo\Application
Data\Sun\Java\Deployment\cache\6.0\41\4e6fb429-2508fa85.idx
JNLPAppletLauncher: static initializer
os.name = windows xp
nativePrefix = nativeSuffix = .dll
tmpRootDir =
J:\DOCUME~1\arlo\LOCALS~1\Temp\jnlp-applet\jln2720445989593758509
Applet.init
subapplet.classname = SmartVert
subapplet.displayname = SmartVert
Applet.start
os.name = windows xp
os.arch = x86
processNativeJar: using previously cached: J:\Documents and
Settings\arlo\.jnlp-applet\cache\www_publicproperty_co_uk\76afd5342db025a173799ac92192fa9baf0bfb8f\gluegen-rt-natives-windows-i586.jar
validateCertificates:
VALIDATE: gluegen-rt.dll
extractNativeLibs:
EXTRACT: gluegen-rt.dll(gluegen-rt)
processNativeJar: using previously cached: J:\Documents and
Settings\arlo\.jnlp-applet\cache\www_publicproperty_co_uk\76afd5342db025a173799ac92192fa9baf0bfb8f\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)
Reading certificates from 11
http://www.PublicProperty.co.uk/SmartVert/SmartVert.jar | J:\Documents
and Settings\arlo\Application
Data\Sun\Java\Deployment\cache\6.0\62\f445e3e-1d8d352c.idx
Exception in thread "AWT-EventQueue-32" java.lang.NoClassDefFoundError:
Could not initialize class
com.sun.opengl.impl.windows.WindowsGLDrawableFactory
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:106)
at
javax.media.opengl.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:520)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:131)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:90)
at SmartVert.setupJOGL(SmartVert.java:137)
at SmartVert.<init>(SmartVert.java:124)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(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)
You are trying to run this on a Linux box? You have to supply the linux
binaries (.so's) instead of dll's.
Does you code try to explicitly choose a windows graphics configuration?.
You've got something mangled.
If you are trying to run this on a windows box, well, you still have
something mangled.
Back up a step and get the JOGL applet demos (and all required dll's and 32-
and 64- bit so's) & get them working (cross-platform if required) first.
jbw
It's web hosted on Linux and this test is supposed to act as a new
visitor to a site (using any client OS)
I can run it on both the machines, the problem is the launch WITHOUT the
dll or so being present. It should dynamically download them from the
sun trusted server onto any machine.
It is downloading them (and extracting them, - java console confirms
this). But then there the error I mentioned. That's what I'm trying to
diagnose.
Re:
And yet, you can run the JOGL webstart demos ... soooo
jbw