2012-03-20 5 views
0

Если у меня было приложение Java, которое должно было установить определенные переменные среды, но я не могу поместить их в bash.rc или bash_profile, а также не могу помещать их в/etc/profile.d можно ли установить их в процессе Java? Или они должны быть установлены до запуска java-процесса? Также каждый раз вручную их устанавливать не является вариантом, потому что я хочу, чтобы они были прозрачными для пользователя.Настройка переменных среды оболочки изнутри процесса из Java в Linux

+0

Просьба уточнить: вы хотите установить переменные окружения в жестко заданные значения из программы, которые затем будут считывать эти переменные среды? –

+1

Возможный дубликат [Как установить переменные среды из Java?] (Http://stackoverflow.com/questions/318239/how-do-i-set-environment-variables-from-java) –

ответ

4

Запустите процесс java из сценария оболочки. Сначала скрипт будет определять и экспортировать переменные среды.

-1

Вы попробовали?

System.setProperty("KEY", "VALUE"); 
+0

Это системное свойство Java , Это не переменная среды. –

+0

Плохо, я не был достаточно осторожен. –

0

Я подозреваю, что это не возможно. System.getenv() - это немодифицируемая карта, то есть вы не можете изменять элементы в ней.

+0

Он может использовать ProcessBuilder для установки переменных env - см. Ссылку, которую я положил в свой пост, а также комментарий «Возможный дубликат» –

Смежные вопросы