我已经尝试了几个小时,以便在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 .....祝您好运!