Re: NoClassDefFoundError: GLCapabilitiesChooser on OS X Snow Leopard and Java 1.6
Posted by
apoy2k on
May 29, 2012; 8:15am
URL: https://forum.jogamp.org/NoClassDefFoundError-GLCapabilitiesChooser-on-OS-X-Snow-Leopard-and-Java-1-6-tp4008344p4020329.html
I can reproduce it. When I create a new
Shape3D without any arguments, everything works fine. But as soon as I pass the first argument (
TriangleArray), the error pops up.
So, a minimum (not) working example would be
import javax.media.j3d.*;
public class Tester {
public static void main(String[] args) throws ClassNotFoundException {
TriangleArray triangleArray = new TriangleArray(6, 7);
new Shape3D(triangleArray);
}
}
$ javac Tester.java
$ java Tester
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at javax.media.j3d.Pipeline$1.run(Pipeline.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:138)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:926)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:280)
at javax.media.j3d.NodeRetained.dirtyBoundsCache(NodeRetained.java:959)
at javax.media.j3d.Shape3DRetained.setGeometry(Shape3DRetained.java:353)
at javax.media.j3d.Shape3D.<init>(Shape3D.java:157)
at Tester.main(Tester.java:7)
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 sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 11 more
I think it's an issue of the ClassLoader, because if I write
System.out.println(GLCapabilitiesChooser.class);
In the main method, my console writes without any errors
interface javax.media.opengl.GLCapabilitiesChooser. So, the class is actually found without problems, but the URLClassLoader doesn't find it.