通過System.getProperty配置JVM系統(tǒng)屬性
很多時候我們需要在項目中讀取外部屬性文件,用到了System.getProperty("")方法。這個方法需要配置JVM系統(tǒng)屬性,那么如何配置呢?
那就是使用java -D 配置系統(tǒng)屬性。
使用格式是:java -Dkey=value
比如新建一個測試類,如下:
public class Test { public static void main(String[] args){ System.out.println(System.getProperty("configurePath")); } }
這段代碼直接執(zhí)行的話,會輸出null
接下來需要配置configurePath屬性了,有兩種方法。
第一種方法是在啟動tomcat的時候配置:
比如在myeclipse中,選中這個項目,然后在工具欄中選擇"Run-->Run Confgurations“,然后在對話框的右邊選擇"Arguments,然后在VM arguments中輸入-DconfigurePath=hello。如下圖:
然后就會在控制臺輸出:hello
第二種方法是在執(zhí)行java命令的時候配置:
將之前的測試類導出為一個jar包,再控制臺使用命令執(zhí)行:java -DconfigurePath=hello -jar Test.jar
也會得到hello
java -D 配置系統(tǒng)屬性
使用案例
其實,在不知不覺中我們已經(jīng)在使用-D的參數(shù)項,比如用下面參數(shù)來配置文件編碼:
-Dfile.encoding=UTF-8
再比如,用以下參數(shù)來配置dubbo的選項:
java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.check=false
java -Ddubbo.consumer.check=false
java -Ddubbo.registry.check=false
功能解析
-D=value
官網(wǎng)解釋:
Set a system property value. If value is
a string that contains spaces, you must enclose the string in double quotes:
在虛擬機的系統(tǒng)屬性中設置屬性名/值對,運行在此虛擬機上的應用程序可用:
System.getProperty("屬性名")得到value的值。
如果value中有空格,則需要用雙引號將該值括起來,如:-Dname=”kazaf f”。
該參數(shù)通常用于設置系統(tǒng)級全局變量值,如配置文件路徑,保證該屬性在程序中任何地方都可訪問。
注意事項
(1)需要設置的是JVM參數(shù)而不是program參數(shù);
(2)使用此參數(shù)的參數(shù)優(yōu)先級最高,會覆蓋項目中配置的此項;
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java如何獲取一個隨機數(shù) Java猜數(shù)字小游戲
這篇文章主要為大家詳細介紹了Java如何獲取一個隨機數(shù),類似猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03JDBC連接MySQL數(shù)據(jù)庫批量插入數(shù)據(jù)過程詳解
這篇文章主要介紹了JDBC連接MySQL數(shù)據(jù)庫批量插入數(shù)據(jù)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11Spring?Boot?集成JWT實現(xiàn)前后端認證的示例代碼
小程序、H5應用的快速發(fā)展,使得前后端分離已經(jīng)成為了趨勢,本文主要介紹了Spring?Boot?集成JWT實現(xiàn)前后端認證,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04IDEA安裝部署Alibaba Cloud Toolkit的實現(xiàn)步驟
Alibaba Cloud Toolkit是阿里云針對IDE平臺為開發(fā)者提供的一款插件,本文主要介紹了IDEA安裝部署Alibaba Cloud Toolkit的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2023-08-08java數(shù)據(jù)結(jié)構(gòu)循環(huán)隊列的空滿判斷及長度計算
這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)循環(huán)隊列的空滿判斷及長度計算,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06java比較器Comparable接口與Comaprator接口的深入分析
本篇文章是對java比較器Comparable接口與Comaprator接口進行了詳細的分析介紹,需要的朋友參考下2013-06-06java如何將一個float型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示
這篇文章主要介紹了java如何將一個float型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07