Вопрос

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

Это было полезно?

Решение

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

    .
  • на окнах, он отображает 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 это зависит от ОС.Вот такое поведение я наблюдал:

  • 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top