Путь к библиотеке Java по умолчанию?

Я понимаю, что вы можете установить путь к библиотеке Java с опцией (-Djava.library.path=/path/to/libs) перед выполнением программы, но есть ли место в системе, где Java выглядит, если вы не установите его вручную?

3 ответов


значение по умолчанию зависит от операционной системы:

  • в Windows он сопоставляется с PATH
  • в Linux он сопоставляется с LD_LIBRARY_PATH
  • на OS X он сопоставляется с DYLD_LIBRARY_PATH

однако, Matt Ball не совсем корректен.

в моем окне 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 is /usr/local/lib64.


для Java 8 это отличается в зависимости от ОС. Вот поведение, которое я наблюдал:

  • Windows 10 / Oracle JDK 8:java.library.path=%PATH%;.
  • macOS El Capitan / 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 / открыть JDK 8:java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib