Pergunta

I'm trying to run a Java application and I get the following error message. The application itself loads correctly, it just appears to be certain parts of it that fail.

Nov 13, 2012 2:43:53 PM org.jdesktop.application.Task failed
SEVERE: My.Application$9@7c4f8358 failed: java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
at jpl.mipl.jade.jadis.agile2d.swing.JOGLPluggableRenderer.notifyBeforeSetRootPane(JOGLPluggableRenderer.java:105)
at jpl.mipl.jade.jadis.StereoJFrame.setRootPane(StereoJFrame.java:264)
at javax.swing.JFrame.frameInit(JFrame.java:236)
at javax.swing.JFrame.<init>(JFrame.java:159)
at jpl.mipl.jade.jadis.StereoJFrame.<init>(StereoJFrame.java:172)
at StereoWS.DSStereoFrame.<init>(DSStereoFrame.java:70)
at StereoWS.StereoWSView$9.doInBackground(StereoWSView.java:1067)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLCapabilitiesChooser
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more

I'm running OS X 10.8 fully updated, I've installed JDK 7 and, in frustration, Apple's Java development tools. The program relies on a number of external libraries, but these are supplied with the jar and I trust that the program does actually look for them in the distribution directory when it runs (the errors aren't due to those packages though, I believe). As far as I can tell everything that I need to run the application is either already installed or somewhere where the jar can find it

I don't know if there's anything else I need to do to set up the environment that I haven't done yet, so if anyone can suggest something, I'm all ears! I will provide any extra information needed, but I don't know what would help - I'm not a Java guru by any means.

Foi útil?

Solução

I believe you are using Java3D jars from the old Oracle site in combination with the latest JogAmp JOGLv2, this will not work of two reasons A) the jogl.jar is now renamed jogl-all.jar B) internal namespace changes, all com.sun.* classes is now found under com.jogamp.* and this will confuse the old Java3D code that expects the com.sun.* namespace.

Both JOGL and Java3D is now maintained by members of the JogAmp community: Background of the move: http://labb.zafena.se/?p=656 The only supported way to use Java3D today is by using the community maintained Java3D in combination with the latest JogAmp JOGL v2.

Tutorial on how to setup the latest community maintained Java3D in combination with JOGLv2. Julien Gouesse: Java 3D est de retour [Java 3D is back] http://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top