2013-03-12 52 views
0

我想开发一个应用程序的Java3D,我尝试了一切,我只是下载jogamp平台,因为我怎么会在许多网站阅读Java3D的是过时的,对于Mac OS X你需要这个,我把它们全部放在/ System/Frameworks/Java/Extensions里,这是我的.jar文件,以便在Eclipse中不添加到类路径中,但它仍然会得到相同的错误:异常在线程“主要” java.lang.NoClassDefFoundError在Java3D的

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

为什么你不想将它们添加到类路径中? – 2013-03-12 12:44:31

+0

那么,当我在构建路径中添加JRE的所有jar文件包括在我的项目,所以没有点重新添加到classpath – Enot 2013-03-12 12:56:12

+0

好了,终于我和Java3D的固定它,只是一个新的JDK版本问题,1.7不工作,至少在山狮,刚刚设置为1.6或次要版本适合我:) – Enot 2013-04-18 21:49:15

回答

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

+0

好吧,没有什么变化,现在它正在得到另一个noclassdeffounderror ...这是推动我的坚果! ... 异常在线程 “J3D-渲染-1” java.lang.NoClassDefFoundError:苹果/ AWT/ComponentModel \t在com.sun.opengl.impl.JAWT_DrawingSurface.GetDrawingSurfaceInfo0(本机方法)... – Enot 2013-03-13 00:08:20

0

请勿为此使用/ System/Frameworks/Java/Extensions文件夹。

相反,将相关库包含在应用程序的lib /文件夹中。另外,请检查您正在使用的JDK版本。我相信,在较新的Apple提供的JVM上运行的Java3D与旧的Oracle/Sun提供的相比,存在一些问题。

+0

我的项目中没有lib文件夹,你的意思是Eclipse文件夹? – Enot 2013-03-23 12:40:05

+0

不管你用什么作为本地类路径,都要确保这些库在那里。这通常只是一个lib /文件夹,但它可能是任何东西。 – JohnnyO 2013-03-24 19:19:31

+0

我正在使用JRE系统库作为类路径,其中librarys在那里,并始终得到相同的错误,甚至添加具有相同的jar文件的另一个文件夹获取相同的错误,我相信我错过了一些库,但我不知道哪一个。 – Enot 2013-03-25 20:49:25

相关问题