This post was updated on .
Hi,
I updated OSX10.8 to 10.9. The compilation of my java3D app was fine. But, I got a problem when I run it( On OSX10.8 and 10.7, it was no problem.). usingJava3D1.5.2: Exception in thread "J3D-Renderer-1" java.lang.NoClassDefFoundError: apple/awt/ComponentModel at com.sun.opengl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo0(Native Method) at com.sun.opengl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo(JAWT_DrawingSurface.java:56) at com.sun.opengl.impl.macosx.MacOSXOnscreenGLDrawable$1.run(MacOSXOnscreenGLDrawable.java:165) ...... using 3D [dev] 1.6.0-pre8-daily-experimental daily: Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/opengl/FBObject at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at javax.media.j3d.Pipeline$PipelineCreator.run(Pipeline.java:73) at javax.media.j3d.Pipeline$PipelineCreator.run(Pipeline.java:61) at java.security.AccessController.doPrivileged(Native Method) at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:90) at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:832) at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:274) at javax.media.j3d.Canvas3D.<clinit>(Canvas3D.java:3803) Java and OS Version: java.runtime.version=1.7.0_45-b18 os.version=10.9 3D [dev] 1.6.0-pre8-daily-experimental daily( or java3D1.5.2) Thanks in advance. tac |
Might be related to this: http://forum.jogamp.org/No-GL4-profile-on-OSX-10-9-td4030350.html
Sven has been working on supporting OSX 10.9 |
Administrator
|
In reply to this post by tac
Hi
Java3D 1.5.2 has been abandoned by Oracle/Sun and is not maintained by the JogAmp community. Use it at your own risk. JOGL and GlueGen JARs must be in the classpath, you must use the same version of JOGL 2 than the one used to build Java3D 1.6 pre8, you must use the same version of JOGL 2 to compile your application and to run it. You must ensure that there is no conflict with another version of JOGL and/or Java3D, I highly discourage you to install Java3D as an extension (which was something often happening under OS X several years ago). The JogAmp community only maintains Java3D 1.6. Don't install Java3D 1.5.2 and Java3D 1.6 to avoid conflicts. Both uses different incompatible versions of JOGL (Java3D 1.5.2 uses JOGL 1.1 whereas Java3D 1.6 pre8 uses at least JOGL 2.1). Moreover, Java3D 1.5.2 is so old that it has absolutely no chance to support recent Macs (including Mac OS X 10.9), it relies on some classes only available in Apple JRE, not in Oracle Java 1.7 update 45. Good luck. Maybe my tutorial can help you.
Julien Gouesse | Personal blog | Website
|
Thanks, gouessej.
Jogl worked using your tutorial on OSX10.9. |
Administrator
|
Thank you for the feedback. I'll probably add some information about conflicts with obsolete versions of Java3D into my tutorial soon. I updated it a few days ago in order to point out to Java3D 1.6.0-pre10.
Julien Gouesse | Personal blog | Website
|
In reply to this post by tac
I hate to re-open an old thread, but I'm having an almost identical problem and following the tutorial did not resolve it.
I have a program (GeomSS: http://sourceforge.net/p/geomss/wiki/Home/) that uses Java3D (1.6.0_pre11) and JOGL (version 2.2). It has long worked well on Java 1.6 on MacOS X 10.6. I recently upgraded all the way up to MacOS X 10.9.4 and Java 1.7 (I know, I'm a late adopter), and now I get the following error: java -jar GeomSS.jar Exception in thread "J3D-Renderer-1" java.lang.NoClassDefFoundError: apple/awt/ComponentModel at com.sun.opengl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo0(Native Method) at com.sun.opengl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo(JAWT_DrawingSurface.java:56) at com.sun.opengl.impl.macosx.MacOSXOnscreenGLDrawable$1.run(MacOSXOnscreenGLDrawable.java:165) at java.security.AccessController.doPrivileged(Native Method) at com.sun.opengl.impl.macosx.MacOSXOnscreenGLDrawable.lockSurface(MacOSXOnscreenGLDrawable.java:163) at com.sun.opengl.impl.macosx.MacOSXOnscreenGLContext.makeCurrentImpl(MacOSXOnscreenGLContext.java:57) at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:134) at javax.media.j3d.JoglPipeline$QueryCanvas.doQuery(JoglPipeline.java:9049) at javax.media.j3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8797) at javax.media.j3d.Renderer.doWork(Renderer.java:514) at javax.media.j3d.J3dThread.run(J3dThread.java:275) Caused by: java.lang.ClassNotFoundException: apple.awt.ComponentModel at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 11 more java -version java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode) HOWEVER, if I run it using the old Apple Java 1.6 (which is still on my system), it works perfectly. /System/Library/Frameworks/JavaVM.framework/Home/bin/java -jar GeomSS.jar Works! /System/Library/Frameworks/JavaVM.framework/Home/bin/java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode) I have made certain that old versions of Java3D and/or JOGL are not present in any of my Library directories (~/Library/Java/Extensions:/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Libraries). I need this to work with Java 1.7 for wide distribution. Any suggestions? --Joe Huwaldt |
Administrator
|
Sorry but you're wrong, com.sun.opengl.impl.macosx.MacOSXOnscreenGLDrawable comes from JOGL 1.1.1, not from JOGL 2. There is still an old version of Java3D somewhere on your machine which requires JOGL 1.1.1. Your stack trace proves I'm right.
Edit.: The JOGL classes used under Mac that appear in your stack trace have been moved into jogamp.opengl.macosx.cgl in JOGL 2. There is still an old version of Java3D which uses an old version of JOGL compatible with Apple JVM but not with Oracle JVM.
Julien Gouesse | Personal blog | Website
|
Julien,
And I in turn am sorry. The world is a different place in the light of a new day. I found the offending copy of JOGL 1.1.1. Now it works fine. Joe Huwaldt |
Administrator
|
Don't be sorry. I have to add a paragraph about this kind of trouble into my article on Ardor3D and I'll add a link to this paragraph into the one on Java3D. Thank you for the reminder ;)
Edit.: GeomSS is interesting, it provides another way of modeling, by using scripts. It can be a nice source of inspiration.
Julien Gouesse | Personal blog | Website
|
Free forum by Nabble | Edit this page |