在Java中获取环境变量值
问题内容:
已在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安全策略文件中添加了权限,并添加了以下条目,但仍返回空值。
permission java.lang.RuntimePermission "getenv.PE_CONF_PWD";
问题答案:
此代码段不应返回null以便解决您的问题。
final String value = System.getenv("PE_CONF_PWD");