Получение значения переменной среды в Java

31

В Windows-машине (Windows 7) была задана переменная окружения и пыталась получить значение переменной из следующего java-кода. Однако он возвращает нулевое значение.

final String value = System.getenv("PE_CONF_PWD");
System.out.println(value);
//print null

Теперь, если я выполняю следующий код, он выдает исключение безопасности, которое означает, что у пользователя нет переменной.

SecurityManager m = new SecurityManager();
m.checkPropertyAccess("PE_CONF_PWD");
// java.security.AccessControlException: access denied ("java.util.PropertyPermission" "PE_CONF_PWD" "read") 

Позже я добавил разрешения в файл политики безопасности JRE и добавлю следующую запись, но все равно возвращает значение null.

permission java.lang.RuntimePermission "getenv.PE_CONF_PWD";
  • 2
    Установлена ли переменная окружения? Вы можете увидеть его значение из командной строки? Если это так, то я думаю, что первый фрагмент должен вернуть значение
Теги:
permissions

1 ответ

58
Лучший ответ

Этот фрагмент кода не должен возвращать null, чтобы ваша проблема была разрешена...

final String value = System.getenv("PE_CONF_PWD");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню