2013-03-12 87 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

相關問題