在java中获取环境变量值

Posted

技术标签:

【中文标题】在java中获取环境变量值【英文标题】:Getting environment variable value in java 【发布时间】:2013-08-10 06:07:11 【问题描述】:

在 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";

【问题讨论】:

环境变量设置了吗?你能从命令行看到它的价值吗?如果是,那么我认为第一个 sn-p 应该返回值 【参考方案1】:

为了解决您的问题,此代码 sn-p 不应返回 null...

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

【讨论】:

以上是关于在java中获取环境变量值的主要内容,如果未能解决你的问题,请参考以下文章

配置JAVA JDK环境变量

JDK环境变量中dt.jartools.jar等变量值的作用

配置java环境变量时求解下面为啥Path编辑命令是灰色的,配置环境变量的时候要用那个吧?

如何配置java环境变量

JDK环境变量配置

Jmeter+ant搭建环境