我有这个系统变量
此代码:
System.out.println(System.getProperty("area"));
返回null。
我可以通过System.getProperty方法从java代码访问系统变量吗?
P.S
答案 0 :(得分:3)
这不是系统变量,而是环境变量。您可以使用System.getenv()
访问这些变量。
System.getProperty()
用于返回启动程序时设置的任何变量。例如:
# java -Dmyproperty=myvalue MyProgram
答案 1 :(得分:1)
System#getProperty
为您提供系统属性。
您可以通过System#getenv
System.out.println(System.getenv("area"));
应该得到你的结果。
修改强>
尝试并运行以下代码并检查所需变量是否出现在控制台中,或者其他已定义变量的行为是否存在:
public static void main(String[] args) {
Set<String> envSet = System.getenv().keySet();
for (String env : envSet) {
System.out.println("Env Variable : " + env + " has value : "
+ System.getenv(env));
}
}
答案 2 :(得分:0)
列出所有Java System Properties
使用,然后检查您是否拥有area
属性:
Properties props = System.getProperties();
props.list(System.out);
请参阅此example