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文件(在下载中):
(j3d-core,j3d-utils,vecmath)
公平的警告,这只适用于OSX上的Java6,我一直试图在OSX上调试Java7的问题,但没有ETA的解决方案.....祝你好运!