2011-09-27 72 views
2

我在Windows 7 64位和使用eclipse indigo。我下載了最新版本的JOGL 2,我已經創建了一個Eclipse項目以下鏈接java.lang.NoClassDefFoundError:com/jogamp/common/type /在Eclipse中WriteCloneable jogl 2

https://sites.google.com/site/justinscsstuff/jogl-tutorial-2

本教程是舊如在JOGL下載的罐子不匹配,我已經包括了所有的罐子和每個jar設置本地庫目錄。我已經寫了一個小的jogl測試程序來創建GLProfile,GlCapabilities和awt框架。我得到這個例外:

java.lang.NoClassDefFoundError: com/jogamp/common/type/WriteCloneable 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
Caused by: java.lang.ClassNotFoundException: com.jogamp.common.type.WriteCloneable 
    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 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 24 more 
Exception in thread "main" 

好像我缺少一個jar..could任何讓我知道我在這裏做錯了什麼?

回答

10
我使用從MATLAB 2014A的JOGL-all.jar在

。上面的錯誤消失了,當我添加庫glugen-rt.jar時,一切運行順利。當你執行你的應用程序的時候,還要記住-Djava.library.path =/path/to/native/files,在我的情況下這是-Djava.library.path =/Applications/MATLAB_R2014a.app/bin/maci64)

0

我有一個與JOGL jar文件類似的問題。請參閱here。此外,請查看jogamp wiki上的教程(通過它的外觀,Wade在wiki上非常活躍)。

0

我檢查了你給出的鏈接,看起來他們在該教程完成後改變了結構。在任何情況下,我下載2011年3月的二進制文件,它工作正常..

+0

很酷。順便說一句,如果你想讓用戶收到通知,請回答評論(就像我現在正在做的那樣)。我碰巧看到這個問題並且遇到了你的回覆。 – fjdutoit

+0

@ user968049另外,如果fjdutoit的回答幫助您解決問題,通常很高興接受她/他/ ___的回答。我們儘量避免在此使用論壇結構:提出問題,人們提交答案,其他內容應該在評論中發生。 – Dogmatixed

3

嘗試添加gluegen以及。

例如

<dependency> 
    <groupId>org.jogamp.jogl</groupId> 
    <artifactId>jogl-all</artifactId> 
    <version>2.0-rc11</version> 
</dependency> 

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