デフォルトのJavaライブラリパス?
-
21-12-2019 - |
質問
プログラムを実行する前に、オプション(-Djava.library.path=/path/to/libs
)を使用してJavaライブラリパスを設定できることを理解していますが、Javaが手動で設定していない場合はJavaが検索する場所がありますか?
解決
そのデフォルト値はオペレーティングシステムによって異なります。
- Windowsでは、
PATH
にマップします。
- Linuxでは、
LD_LIBRARY_PATH
にマッピングします。
- OS Xでは、
DYLD_LIBRARY_PATH
にマップします。
他のヒント
しかし、マットボールは全く正確ではありません。
私のLinuxボックスで、私のJavaライブラリパスは
/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
.
LD_LIBRARY_PATH
は/usr/local/lib64
です。
Java 8の場合、これはOSによって異なります。これは私が観察した行動です:
- Windows 10 / Oracle JDK 8:
java.library.path=%PATH%;.
- MacOS ELキャピタン/ Oracle JDK 8:
java.library.path=$JAVA_LIBRARY_PATH:~/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
。DYLD_LIBRARY_PATH
とLD_LIBRARY_PATH
変数は無視されます。さらに、これらの変数はどちらもJavaアプリケーションの環境から削除されます。 - Linux CentOS 7 / Open JDK 8:
java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
所属していません StackOverflow