java3d没有在mac山狮上工作

kol*_*ror 2 java macos java-3d osx-mountain-lion


我已经尝试了几个小时来使我的macbook上的java 3d工作,我无法弄清楚它有什么问题...这就是我所做的:
- 我下载了java3d 1.5并替换了/中的原始文件系统/图书馆/的Java /扩展.
- 然后我按照相同(...)/ Java/Extensions文件夹中的教程安装了JOGL.
- 因为它仍然无法工作,我决定尝试原始版本的java3d,所以我重命名了文件.

我正在使用java 1.7.0_07在Mac OS x山狮上工作这是java -version的结果:

    java version "1.7.0_07"
    Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

这是我的Java/extensions文件夹的内容:

    AppleScriptEngine.jar   gluegen-rt.jar          j3dutils.jar.new        libAppleScriptEngine.jnilib libgluegen-rt.jnilib            libnewt.jnilib
    MRJToolkit.jar          j3daudio.jar            jai_codec.jar           libJ3D.jnilib               libjogl_desktop.jnilib          mlibwrapper_jai.jar
    QTJava.zip              j3dcore.jar             jai_core.jar            libJ3DAudio.jnilib          libmlib_jai.jnilib              vecmath.jar
    dns_sd.jar              j3dcore.jar.new         jogl-all.jar            libJ3DUtils.jnilib          libnativewindow_awt.jnilib      vecmath.jar.new
    gluegen-java-src.zip    j3dutils.jar            jogl-java-src.zip       libQTJNative.jnilib         libnativewindow_macosx.jnilib
Run Code Online (Sandbox Code Playgroud)

我可以使用javac编译java 3d代码,但这是我尝试启动时的结果:

    $> java Hello3d
    JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
    AWT not found
    Exception in thread "main" java.lang.NoClassDefFoundError: apple/awt/CGraphicsDevice
        at javax.media.j3d.GraphicsConfigTemplate3D.<clinit>        (GraphicsConfigTemplate3D.java:55)
        at com.sun.j3d.utils.universe.SimpleUniverse.getPreferredConfiguration(SimpleUniverse.java:368)
        at com.sun.j3d.utils.universe.Viewer.<init>(Viewer.java:348)
        at com.sun.j3d.utils.universe.Viewer.<init>(Viewer.java:298)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:215)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:177)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:88)
        at Hello3d.<init>(Hello3d.java:13)
        at Hello3d.main(Hello3d.java:27)
    Caused by: java.lang.ClassNotFoundException: apple.awt.CGraphicsDevice
        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:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 9 more
Run Code Online (Sandbox Code Playgroud)

我正在尝试启动的java类来自官方教程.

你知道我怎么解决这个问题吗?
谢谢你的帮助!

小智 8

我担心Java3D 1.5与较新版本的OSX不兼容,你无能为力.

我已经分叉了Java3D代码并用JOGL2后端替换了本机代码后端

你可以在这里找到有关在OSX上安装JOGL2的信息(还有一个Java3d论坛):http: //jogamp.org/

您可以在此处获取我的Java3d的预构建jar文件(在下载中):

https://github.com/hharrison/

(j3d-core,j3d-utils,vecmath)

公平的警告,这只适用于OSX上的Java6,我一直试图在OSX上调试Java7的问题,但没有ETA的解决方案.....祝你好运!