バックグラウンド
そのため、実行時にMac OS X上のJavaにjnilib(具体的にはJOGL )をロードしようとしています。私は関連するStackOverflowの質問に沿ってフォローしています:
私の最終的な目標は、プラットフォーム固有のJOGLファイルをJARにパッケージ化し、一時ディレクトリに解凍して、起動時にロードすることです。私は問題を解決して、ハードコードされたパスを使用してJOGLをロードしようとしただけでした。
File f = new File("/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/libjogl.jnilib");
System.load(f.toString());
f = new File ("/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/libjogl_awt.jnilib");
System.load(f.toString());
JOGL APIを使用しようとすると、次の例外が発生します。
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
しかしjava.library.path
、次のJVMオプションを追加して指定すると:
-Djava.library.path="/var/folders/+n/+nfb8NHsHiSpEh6AHMCyvE+++TI/-Tmp-/"
すべてが正常に動作します。
質問
System.load
実行時に呼び出される-Djava.library.pathの代わりに、Mac OS Xで(または他のバリアントを)使用することは可能ですか?