尝试使用JOGL Swing测试代码时找不到JVMUtil类

时间:2015-06-03 03:45:18

标签: java eclipse jogl

当我尝试运行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行有此行,其中GLProfilejavax.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.jarjogl.all.jar导入eclipse:

http://i.stack.imgur.com/PEple.png

我将Native library location设置为包含.jnilib.so文件的文件夹:

http://i.stack.imgur.com/PEple.png

我使用的swing问题是awt,还是其他错误?

1 个答案:

答案 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社区非常积极地维护。我负责引擎支持。