До сих пор я узнал следующее о свойстве 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}}