Могу ли я узнать, какой переменной java.library.path сопоставляется на текущей платформе?

До сих пор я узнал следующее о 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}}
26
задан Charlie 4 March 2012 в 15:35
поделиться