Java3D中线程“main”java.lang.NoClassDefFoundError中的异常

时间:2013-03-12 12:39:58

标签: java eclipse noclassdeffounderror java-3d

我正在尝试开发一个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

问候!

2 个答案:

答案 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。