0

我想使用 Java 学习 OpenGL。我没有使用 OpenGL 的经验,但我对 Java 很满意。

计划是在 Eclipse Indigo 中使用 JOGL。从Schabby 的博客开始编写一个简单的 hello world 应用程序。我的应用程序的来源是相同的。

我遵循所有步骤并引用了gluegen-rt-natives-windows-amd64.jar、gluegen-rt.jar、jogl-all.jar 和jogl-all-natives-windows-amd64.jar库。该应用程序配置为在 JRE6 x64 中运行。

当我运行应用程序时,会引发以下异常:

Exception in thread "main" java.lang.NoSuchMethodError: jogamp.common.awt.AWTEDTExecutor.invoke(Ljava/lang/Object;ZZLjava/lang/Runnable;)Z

其他答案表明问题出在主要方法上,但是我看不到任何问题。

public static void main(String[] args) 
{
       \\Implementation
}

我还能尝试什么来解决这个问题?

编辑:似乎每次需要绘制某些东西时都会引发异常。

如果我评论此行frame.setSize( frame.getContentPane().getPreferredSize() );,则会显示具有最小宽度和高度的默认框架,但一旦我重新调整大小,就会引发相同的异常。

4

1 回答 1

1

这是无法加载本机库时引发的顶级异常。请参阅有关本地安装的文档并仔细遵循。

首先确保使用的 JRE Eclipse 实际上是 64 位的。您的行为与尝试在 32 位 JRE 中加载 64 位 DLL 一致。

另请注意,该博客有些过时了。比如jogl.all.jar现在jogl-all.jar。确保您的 jar 引用指向正确的文件。使用这组基于当前版本的说明,您可能会获得更好的结果。

natives jar 在运行时扩展。存储此 jar 的目录必须是可写的,此机制才能正常工作。我通常会通过使用扩展的 DLL/jnilib/so 文件和设置 java.library.path 来消除所有疑问的更详细的过程。

于 2013-01-29T23:10:17.690 回答