在java中获取环境变量值

在java中获取环境变量值,java,windows,permissions,Java,Windows,Permissions,在windows机器(windows 7)中设置了一个环境变量,并试图从以下java代码中获取该变量的值。但是,它返回一个空值 final String value = System.getenv("PE_CONF_PWD"); System.out.println(value); //print null permission java.lang.RuntimePermission "getenv.PE_CONF_PWD"; 现在,如果我执行以下代码,它会抛出一个安全异常,这意味着用户没有

在windows机器(windows 7)中设置了一个环境变量,并试图从以下java代码中获取该变量的值。但是,它返回一个空值

final String value = System.getenv("PE_CONF_PWD");
System.out.println(value);
//print null
permission java.lang.RuntimePermission "getenv.PE_CONF_PWD";
现在,如果我执行以下代码,它会抛出一个安全异常,这意味着用户没有变量

SecurityManager m = new SecurityManager();
m.checkPropertyAccess("PE_CONF_PWD");
// java.security.AccessControlException: access denied ("java.util.PropertyPermission" "PE_CONF_PWD" "read") 
后来,我在JRE安全策略文件中添加了权限,并添加了以下条目,但它仍然返回空值

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

为了解决您的问题,此代码段不应返回null

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

是否设置了环境变量?您能从命令行看到它的值吗?如果是,那么我认为第一个代码段应该返回值