哪个是填充系统属性的java的来源

时间:2015-01-20 14:27:42

标签: java system-properties

通过System.getProperty(String key)你可以得到一些java系统属性的值,但是我的问题是java如何填充这些值,更确切地说是这些信息的来源。我正在寻找像here这样的地方,但我没有找到答案。

我的问题是我尝试测试代码的某些行为,并且我想在java之外更改os.name值的系统属性(我知道我可以使用{设置值} {3}}但我想在外面这样做,所以任何人都知道我要改变什么才能通过System.getProperty('os.name')获得新价值?

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以将VM参数传递为

-Dos.name="Ubuntu 10.1"

如果您正在运行Eclipse,则可以通过Run>指定值。运行配置...在Java Application下选择您的程序,并在Arguments选项卡中提供值。

答案 1 :(得分:1)

我不相信你应该修改内置的System Properties,链接的Java教程说(部分)

  

System类维护一个Properties对象,描述当前工作环境的配置。

  

警告:更改系统属性具有潜在危险,应谨慎行事。启动后不会重读许多系统属性,这些属性仅供参考。更改某些属性可能会产生意外的副作用。

最后

  

要修改现有系统属性集,请使用System.setProperties。此方法采用已初始化为包含要设置的属性的Properties对象。

答案 2 :(得分:0)

您可以使用选项-Dos.name="XXX"运行java,因此System.getProperty('os.name')将返回“XXX”。