根据Oracle,设置系统属性的唯一方法是通过命令行-D参数:
java -Dmy.prop=value com.package.MyClass
这真的是唯一的方法吗?是不是可以创建一些包含所有这些属性的 system.properties 文件,并且在JVM启动时会自动读取?
我确切地说我不能使用System.setProperty(String,String)
函数。 [1]
通过命令行参数设置此文件也可以:
java -Fsystem.properties com.package.MyClass
我搜索过我所知道的地方(并发现IBM的JVM有一种方法),但我还是空手而归......
[1] :目标是设置默认的Charset,这主要通过file.encoding
属性完成,但仅限于VM启动阶段。在运行时设置此属性不会更改默认的Charset,也无法以“编程方式”更改它。