此文纯属个人理解,并未深入了解,看官慎重。
java -D是设置运行是的虚拟机属性。怎样在代码中获得?
使用System.getProperty()方法获得,直接放一个例子,直观点:
Test.java :
public class Test {
public static void main(String[] args) {
System.out.println("Hello World");
System.out.println(System.getProperty("com.test"));
}
}
在命令行编译(略)
在命令行执行:
java -Dcom.test=haha Test
结果:
Hello World
haha
在命令行执行:
java -Dlala=haha Test
或
java Test
结果:
Hello World
null
在命令行执行:
java Test -Dcom.test=haha
结果:
Hello World
null
由此可见System.getProperty()方法完全可以获得运行时-D设置的环境变量,或者说是系统属性(非设置的应该也一样),但是名字要正确,并且-D应在类之前,否则获取不到属性值。以null填充。
声明:鉴于本人只是有限,欢迎指正!zgsoft_happy@126.com。