此文純屬個人了解,并未深入了解,看官慎重。
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填充。
聲明:鑒于本人隻是有限,歡迎指正![email protected]。