質問

プログラムを実行する前に、オプション(-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_PATHLD_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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top