簡體   English   中英

如何通過系統屬性將數組或值列表傳遞給Java-以及如何訪問它?

[英]How do I pass an array or list of values to Java via system properties - and how do I access it?

有沒有一種方法可以僅使用一個系統屬性將值列表傳遞給Java?

我正在考慮-DMY_LIST=val1,val2,val3-DMY_LIST={val1, val2}

有任何想法嗎?

我將如何在Java中訪問它?

更新:我最初詢問環境變量,但實際上是系統屬性。 原理相似,但有很大不同...我現在相應地更改了標題和文本。 謝謝@ serge-ballesta

來自Oracle Javase教程 在Java平台上,應用程序使用System.getenv檢索環境變量值。 沒有參數,getenv返回java.util.Map的只讀實例,其中映射鍵是環境變量名稱,而映射值是環境變量值。

因此,如果您有一個環境變量MY_LIST=val1,val2,val3 ,則可以像使用它一樣簡單

String strlist = System.getenv().get("MY_LIST");
List<String> list = Arrays.asList(strlist.split(","));

編輯:修復getenv的調用(忘了括號-感謝Christian)

我必須弄清楚,我的回答與環境變量有關 ,這是該職位的標題。 但是java -D MY_LIST=a,b,c ...設置系統屬性,並且系統屬性 並不相同。 要訪問由-D選項設置的系統屬性,我應該寫:

String strlist = System.getProperty("MY_LIST");
List<String> list = Arrays.asList(strlist.split(","));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM