当我尝试运行JOGL Swing test code时,收到错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/nativewindow/impl/jvm/JVMUtil
at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:625)
at com.jojodmo.wizardgame.Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: com.sun.nativewindow.impl.jvm.JVMUtil
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
我的Main.java
第34行有此行,其中GLProfile
为javax.media.opengl.GLProfile
:
GLProfile glprofile = GLProfile.getDefault()
这是我第一次在文件中使用JOGL做任何事情。我正在使用JOGL 2.0,而我正在使用的文件名为jogl-2.0-macosx-universal.zip
(我也尝试过使用version 1.1.1,但得到相同的结果,除了它的事实之外过时)。它是从java.net下载的,这不是官方的,可能是问题,但我不确定。
我正在将gluegen-rt.jar
和jogl.all.jar
导入eclipse:
我将Native library location
设置为包含.jnilib
和.so
文件的文件夹:
我使用的swing
问题是awt
,还是其他错误?
答案 0 :(得分:1)
与JOGL 1存在冲突,请将其卸载,从JVM中删除它和/或从扩展机制使用的目录中删除它。 JOGL 2.3.1(目前,2015年6月)中不再出现“com / sun”。 JOGL 2.0已经过时,jogl.all.jar在此期间已被重命名为jogl-all.jar。请按照我们Wiki上的说明操作: http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE
P.S:Oracle在2009年11月放弃了JOGL,它一直由JogAmp社区非常积极地维护。我负责引擎支持。