我正在尝试开发一个java3d应用程序,我尝试一切,我只是下载jogamp平台,因为我可以在许多网站上阅读java3d已经过时而且对于mac os x你需要这个,我把它们全部放入/ System / Frameworks / Java / Extensions我的.jar文件在哪里,以便不添加到Eclipse中的类路径,但它仍然得到相同的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/AbstractGraphicsDevice
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at javax.media.j3d.Pipeline$1.run(Pipeline.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:138)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:926)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:280)
at javax.media.j3d.Canvas3D.<clinit>(Canvas3D.java:3862)
at Apartado_a.<init>(Apartado_a.java:17)
at Apartado_a.main(Apartado_a.java:67)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.AbstractGraphicsDevice
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 10 more
这些是扩展文件夹中的文件:
j3daudio.jar
j3dcore.jar
j3dutils.jar
joal-natives-macosx-universal.jar
jogl-all.jar
gluegen-rt.jar
gluegen-rt-natives-macosx-universal.jar
问候!
答案 0 :(得分:0)
Mac OS X预装了Java 3D 1.3版。您可以在/ System / Library / Java / Extensions中找到这些文件。如果您需要安装Java 3D 1.5版(听起来就像这样),那么您可以使用此安装程序:http://create.ife.no/vr/tools/j3d/java3d_1_5_2-macosx.pkg.zip
答案 1 :(得分:0)
不要使用/ System / Frameworks / Java / Extensions文件夹。
相反,请在应用程序的lib /文件夹中包含相关库。另外,请检查您正在使用的JDK版本。我相信,在较新的Apple提供的JVM上运行Java3D存在一些问题,而不是旧的Oracle / Sun提供的JVM。