これまで、java.library.pathプロパティについて次のことを学びました。
- Javaクラスではなく、ネイティブライブラリをロードするときに使用されます
- デフォルト値は、オペレーティングシステムによって異なります。
- Windowsでは、PATHにマップされます
- Linuxでは、LD_LIBRARY_PATHにマップされます
- OS Xでは、DYLD_LIBRARY_PATHにマップされます
(上記のいずれかを誤解した場合は訂正してください)
私の動機:
Javaアプリケーションを呼び出すために設定したフレームワークからJavaアプリケーションに表示されるjava.library.pathの値を変更したいと思います。これを行うには、java.library.pathプロパティを直接設定するのではなく、マップ先のシステムパス変数を変更します。醜いOS固有のコードがない、または可能であればエッジケースを除外する、これを行うためのクリーンな方法が必要です。
私の質問:
ローカルJava実装に、どの環境変数java.library.pathがマップされるかを尋ねる方法はありますか?
次に、シェルスクリプトで、次の行に沿って何かを書くことができます。
path_var = get_library_path_variable # the magic function I want to call
${path_var} = /my/custom/path:${${path_var}}