0

问题似乎是在 Mac OSX(而不是 Windows)上,jogl.jar 要求本机扩展位于特定的系统路径中/System/Library/Java/Extensions/(如所述:http ://cs.gmu.edu/~jchen/graphics/jogl /notes/joglSetup.html )。

但是,我正在分发这个应用程序,我无法要求我的用户将随机的 .jnilib 文件复制到系统文件夹中,尤其是当我的用户相对技术不可知时。

然后我尝试创建一个 Visualizer.command 文件:

java -Djava.library.path=./lib/opengl-natives/macosx/ -jar ./viz.jar

并将所需的库放在指定的路径中,但这也不起作用。

在 Windows 上,只需将本机 .dll 与 .jar 文件放在同一文件夹中即可,但有人告诉我,在 unix 系统(如 Mac)上,这不起作用,因为默认情况下 unix 不会从当前加载库工作目录,除非另有说明。

编辑:作为参考,这是我在 Windows 上执行相同库加载的 Visualizer.bat 文件:

java -Djava.library.path=.\lib\opengl-natives\windows32 -jar parking-viz.jar

4

1 回答 1

1

使用 JogAmp JOGL 2 时,本机扩展不再需要位于特定的系统路径中,您只需将 jogl-all.jar 和 gluegen-rt.jar 包含到您的项目中。如果它们位于 jogl-all.jar 和gluegen-rt.jar http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE旁边,则所有 macOS x 特定的原生 jar 都将在运行时自动找到

于 2013-05-05T17:11:58.770 回答