Путь к библиотеке Java по умолчанию?
-
21-12-2019 - |
Вопрос
Я понимаю, что вы можете установить путь к библиотеке 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
Не связан с StackOverflow