Java -D 屬性獲得

此文純屬個人理解,並未深入瞭解,看官慎重。
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]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章