Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Setting up Java 3D in linux for Eclipse programming...

843799Jan 27 2009 — edited Apr 19 2009
I'm trying to start programming with Java 3D, but I think I'm having problems with the initial setup. I installed Java3D using the amd64 bin script into the active jre: /usr/lib/jvm/java-6-sun/jre/. I'm working in Eclipse and have included j3dcore.jar, j3dutils.jar, and vecmath.jar in the build path. It compiles just fine.

My program is a very simple test from a tutorial:
package tests;

import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;

public class Hello3d {

  public Hello3d()
  {
    SimpleUniverse universe = new SimpleUniverse();
    BranchGroup group = new BranchGroup();
    group.addChild(new ColorCube(0.3));
    universe.getViewingPlatform().setNominalViewingTransform();
    universe.addBranchGraph(group);
  }

  public static void main(String[] args) {
    new Hello3d();
    System.out.println("blah");
  }
}
And I get the following exception when it runs:
Exception in thread "main" java.lang.NoClassDefFoundError: javax.media.j3d.X11NativeConfigTemplate3D
   at java.lang.Class.initializeClass(libgcj.so.90)
   at java.lang.Class.forName(libgcj.so.90)
   at javax.media.j3d.NativeConfigTemplate3D$1.run(NativeConfigTemplate3D.java:60)
   at java.security.AccessController.doPrivileged(libgcj.so.90)
   at javax.media.j3d.NativeConfigTemplate3D.createNativeConfigTemplate3D(NativeConfigTemplate3D.java:55)
   at javax.media.j3d.NativePipeline.initialize(NativePipeline.java:107)
   at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:151)
   at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:926)
   at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:280)
   at java.lang.Class.initializeClass(libgcj.so.90)
   at java.lang.Class.initializeClass(libgcj.so.90)
   at tests.Hello3d.<init>(Hello3d.java:11)
   at tests.Hello3d.main(Hello3d.java:19)
Caused by: java.lang.ClassNotFoundException: sun.awt.X11GraphicsDevice not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/home/max/Dropbox/Projects/Basic Java3D Linux AMD64/,file:/home/max/Dropbox/Projects/Basic Java3D Linux AMD64/Java3D/Linux AMD64/lib/ext/j3dcore.jar,file:/home/max/Dropbox/Projects/Basic Java3D Linux AMD64/Java3D/Linux AMD64/lib/ext/j3dutils.jar,file:/home/max/Dropbox/Projects/Basic Java3D Linux AMD64/Java3D/Linux AMD64/lib/ext/vecmath.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.Class.forName(libgcj.so.90)
   at java.lang.Class.initializeClass(libgcj.so.90)
   ...12 more
I installed libgcj via Synaptic (I'm running Ubuntu) but still get the same error, so I'm unsure how I should proceed. Any ideas what's wrong?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 17 2009
Added on Jan 27 2009
1 comment
386 views