在java程序中运行OpenGL命令

在java程序中运行OpenGL命令,java,opengl,netbeans,path,jogl,Java,Opengl,Netbeans,Path,Jogl,我正在尝试运行一个包含OpenGL命令的Java程序,它确实可以编译。我正在使用netbeans并添加了必要的库 但我明白了: Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runt

我正在尝试运行一个包含OpenGL命令的Java程序,它确实可以编译。我正在使用netbeans并添加了必要的库

但我明白了:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at com.sun.opengl.impl.NativeLibLoader$1.run(NativeLibLoader.java:111)
etc etc etc.

我想这可能是path的问题,但没有任何效果-

要使用JOGL,程序需要JOGL JAR文件和JOGL本机库(例如Windows上的DLL文件)。堆栈跟踪表明未找到本机库。Java搜索本机库的方式取决于系统,但在Windows上,您有几个选项可以加载JOGL本机库:

  • 将本机库放入Windows PATH变量中引用的文件夹中
  • 我记得JRE安装文件夹中有一个专用的子文件夹,它也可以用于本机库
  • 将包含本机库的文件夹添加到Windows PATH变量中
  • 运行java.exe时,在-Djava.library.path参数中指定包含本机库的文件夹
  • 在运行java.exe之前,将包含本机库的文件夹设置为当前文件夹

前三个选项可能需要管理员权限。出于某种原因,我没有让第四个选项起作用。因此,我的JOGL应用程序使用了第五个选项,并且运行良好。

要使用JOGL,程序需要JOGL JAR文件和JOGL本机库(例如Windows上的DLL文件)。堆栈跟踪表明未找到本机库。Java搜索本机库的方式取决于系统,但在Windows上,您有几个选项可以加载JOGL本机库:

  • 将本机库放入Windows PATH变量中引用的文件夹中
  • 我记得JRE安装文件夹中有一个专用的子文件夹,它也可以用于本机库
  • 将包含本机库的文件夹添加到Windows PATH变量中
  • 运行java.exe时,在-Djava.library.path参数中指定包含本机库的文件夹
  • 在运行java.exe之前,将包含本机库的文件夹设置为当前文件夹

前三个选项可能需要管理员权限。出于某种原因,我没有让第四个选项起作用。因此,我的JOGL应用程序使用了第五个选项,并且运行良好。

我很久以前在Windows上使用过JOGL,但仍然记得您必须在
-Djava.library.path=…
中指定所有必要的.dll(或.So)-它们在分布式中有一个很好的自述。您缺少了JOGL.dll或JOGL.lib(依赖于操作系统的本机库)位于属性java.library.path引用的文件夹中,该属性通常是我记得的JRE的/bin文件夹。我很久以前在Windows上使用过JOGL,但仍然记得必须指定所有必需的.dll(或.so)在类似于
-Djava.library.path=…
的文件中,它们在分布式文件中有一个很好的自述文件。属性java.library.path引用的文件夹中缺少一个jogl.dll或jogl.lib(依赖于操作系统的本机库),我记得它通常是JRE的/bin文件夹。