我已经尝试了几个小时,以便在Macbook上运行Java 3d,但我不知道它是怎么回事...
这是我所做的:
-我下载了java3d 1.5,并替换了/ System / Library / Java / Extensions中的原始文件。
-然后,我按照教程中的相同(...)/ 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)


这是我的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


我可以用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


我要启动的Java类来自the official tutorial

您知道我该如何解决吗?
谢谢你的帮助!

最佳答案

恐怕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 .....祝您好运!

10-04 17:48