问题似乎是在Mac OSX(而不是Windows)上,jogl.jar要求原生扩展位于特定的系统路径/System/Library/Java/Extensions/
中(如:http://cs.gmu.edu/~jchen/graphics/jogl/notes/joglSetup.html所述)。 / p>
但是,我正在发布这个应用程序,我无法让我的用户将随机的.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
答案 0 :(得分:1)
使用JogAmp JOGL 2时,不再需要在特定系统路径中使用本机扩展,而只需将jogl-all.jar和gluegen-rt.jar包含在项目中。如果它们位于jogl-all.jar和gluegen-rt.jar旁边,则将在运行时自动找到所有macos x特定本机jar。 http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE