Доступ к переменным среды оболочки в Java - PullRequest
4 голосов
/ 18 октября 2010

Кто-нибудь знает, как получить доступ к переменным среды стандартной оболочки в Java?Я использую класс ProcessBuilder, и мне нужно указать конкретные переменные среды, используемые в выполняемом мной сценарии оболочки, эти переменные существуют в стандартной среде оболочки.

Доступ к среде ProcessBuilder не работает.

Ответы [ 2 ]

9 голосов
/ 18 октября 2010

Вы можете получить переменные среды, которые существовали, когда ваша программа была создана с помощью System.getenv():

http://download.oracle.com/javase/tutorial/essential/environment/env.html

Когда приложение Java использует объект ProcessBuilder для созданияновый процесс, набор переменных среды по умолчанию, передаваемый новому процессу, является тем же набором, который предоставляется процессу виртуальной машины приложения.Приложение может изменить этот набор с помощью ProcessBuilder.environment.

Похоже, ваш дочерний процесс должен автоматически получить вашу среду.

0 голосов
/ 18 октября 2010
processBuilder.environment().get("variablename");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...