如何使用命令行选项更改系统属性

时间:2017-10-17 08:12:13

标签: java command-line

我像这样开始我的java程序(Test.java):

java -DMyParam=2  Test

我可以使用System.setProperty()在代码中更改此内容,但是有没有更改MyParam属性值的命令行工具?

我尝试使用VM.set_flag但得到以下错误,可能是因为set_flag可以设置标志而不是系统属性。

XXX@XXX-Air:~/javacode$ jcmd 11441 VM.set_flag MyParam 1
11441:
flag MyParam does not exist

2 个答案:

答案 0 :(得分:0)

这似乎不太可能。

您可以使用jinfo(https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jinfo.html)更改一些可管理的JVM标志,但该命令也是实验性的,根据Oracle的说法,下一版本可能不再支持该命令。

答案 1 :(得分:0)

不,不要认为这是可能的。如果这是您想要的方式,您可能必须自己公开该功能。也许创建一个JMX bean并用jmxterm调用它?