2012-07-29 73 views
2

我正在關注this tutorialJOGL Opengl在eclipse中寫入克隆

雖然我做的和教程完全一樣,但是我看了視頻。 即使我嘗試過其他教程,但我所有的嘗試,我每次都得到這個錯誤。

當我點擊運行,一個錯誤框顯示與「Java異常已經發生。」

,我看到,在CONSOL

Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/type/WriteCloneable 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
... 

錯誤即使我卸載JDK & JRE和我下載最新版本並安裝。 我使用的是eclipse,Windows 7家庭高級版64位。

回答

-1

我找到解決辦法。

如果你JVMUtil或WriteCloneable誤差的NoClassDefFoundError,必須複製4庫JAR爲Java/JRE/lib/ext目錄文件夾中。

感謝schabby。

+2

不,這是一個錯誤的解決方案,它甚至可以破壞你的環境,這是一個非常糟糕的建議。切勿將JAR複製到jre/lib/ext中,否則如果小應用程序或應用程序使用相同的庫,但使用其他版本,則會導致衝突。 – gouessej 2012-11-25 14:19:13

0

看起來像你的classpath問題,因爲WriteCloneable類沒有被發現 - 你需要大概從構建路徑中缺少罐的一個或多個。

在Eclipse中:右鍵點擊你的項目/屬性/ Java構建路徑/庫選項卡。檢查你需要的JOGL庫在那裏。

+0

我檢查這個千年的時間。 glugen-RT-當地人 - 窗口i586.jar gluegen-rt.jar中 JOGL-所有本地人 - 窗口i586.jar jogl.all.jar – 2012-07-29 14:50:04

+0

有可能是髒東西在您的環境(幾類路徑中相同JAR的版本或環境變量指向另一個版本或取決於另一個版本的某些二進制文件)導致Java運行帶有錯誤版本庫的二進制文件。如果您使用64位JVM,則應該使用gluegen-rt-natives-windows-amd64.jar而不是gluegen-rt-natives-windows-i586.jar(並且對JOGL執行相同操作)。 – gouessej 2012-11-25 14:29:07

2

起初,他的教程包含幾個錯誤,我已經在抱怨他的YouTube視頻的評論。我建議您使用our wiki的官方教程,如果您需要幫助,請聯繫我們official forum

的東西在你的環境中可能是錯誤的,或者您使用的32位版本與64位JVM。如果你不知道哪些JAR應該用於本地庫,只需要兩者都可以,並讓GlueGen挑選合適的JAR。

1

確保你在你的項目中添加了所有4個庫,像這樣。

-lib 
    --gluegen-rt.jar 
    --gluegen-rt-natives-windows-amd64.jar 
    --jogl-all.jar 
    --jogl-all-natives-windows-amd64.jar 

這一工程對我:)

0

有同樣的問題。我通過添加gluegen的依賴來解決它。首先,我只有:

<dependency> 
     <groupId>org.jogamp.jogl</groupId> 
     <artifactId>jogl-all-main</artifactId> 
     <version>2.3.2</version> 
    </dependency> 

這解決了這個問題:

<dependency> 
     <groupId>org.jogamp.gluegen</groupId> 
     <artifactId>gluegen-rt-main</artifactId> 
     <version>2.3.2</version> 
    </dependency>