通过System.getProperty(String key)你可以得到一些java系统属性的值,但是我的问题是java如何填充这些值,更确切地说是这些信息的来源。我正在寻找像here这样的地方,但我没有找到答案。
我的问题是我尝试测试代码的某些行为,并且我想在java之外更改os.name
值的系统属性(我知道我可以使用{设置值} {3}}但我想在外面这样做,所以任何人都知道我要改变什么才能通过System.getProperty('os.name')
获得新价值?
谢谢!
答案 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”。