有没有一种方法可以区分使用-D
从系统属性(默认情况下具有相同值)的选项在命令行中设置的Java系统属性?
例如,这个程序
class Test {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
}
}
印刷
/home/uckelman
对我来说,不管我是否以
java Test
或者
java -Duser.home=/home/uckelman Test
JDK是否提供我可以测试以区分这两种情况的任何内容?
一种方法是获取用于启动JVM的命令行参数,并检查返回的List(是否设置了给定的系统属性)。
RuntimeMXBean mx = ManagementFactory.getRuntimeMXBean();
System.out.println("COMMAND LINE ARGS:\n" + mx.getInputArguments());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句