До сих пор я узнал следующее о свойстве java.library.path:
- Используется при загрузке нативных библиотек, в отличие от классов Java
- Значение по умолчанию зависит от операционной системы:
- В Windows это соответствует PATH
- В Linux он отображается на LD_LIBRARY_PATH
- В OS X он отображается на DYLD_LIBRARY_PATH
(Пожалуйста, поправьте меня, если я неправильно понял что-либо из перечисленного)
Моя мотивация:
Я хочу изменить значение java.library.path, видимое приложением Java, из среды, которую я настроил для вызова приложения Java. Я хочу сделать это не путем непосредственного задания свойства java.library.path, а путем изменения переменной системного пути, с которой оно сопоставляется. Я хотел бы сделать чистый способ, при котором не было бы уродливого кода, специфичного для ОС, или по возможности исключать крайние случаи.
Мой вопрос:
Есть ли способ спросить у локальной реализации Java, с какой переменной среды java.library.path отображается?
Тогда в сценарии оболочки я смогу написать что-то вроде:
path_var = get_library_path_variable # the magic function I want to call
${path_var} = /my/custom/path:${${path_var}}