在 Eclipse 中一切都运行良好,但在导出 jar 中:C:\wamp\www\JOGL>java -jar test.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
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$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
Could not find the main class: windows.SimpleScene. Program will exit.
项目文件夹:
C:\WAMP\WWW\JOGL
├───.settings
├───bin
│ └───windows![enter image description here][1]
├───jogl-2.0-b11
│ ├───etc
│ ├───jar
│ ├───jnlp-files
│ └───lib
└───src
└───windows
IDE 截图:
http://i.piccy.info/i5/40/33/1183340/Properties_for_JOGL.png
JAR (7zip)
http://i.piccy.info/i5/38/33/1183338/CwampwwwJOGLtest.jar.png
最佳答案
java -Djava.library.path="lib" -cp test.jar:jar/jogl.all.jar:jar/newt.all.jar:jar/nativewindow.all.jar mypackage.MyJOGLApp
应该可以工作。该异常告诉您 jogl 不在类路径中(-cp 参数)。之后,您将收到库加载异常,因为库路径中没有 native 库(-Djava.library.path 属性)
[编辑] 在 Windows 上使用 ';'作为路径分隔符而不是 ':'
关于java - JOGL 有问题( eclipse ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5186545/