java -D參數(shù)設(shè)置系統(tǒng)屬性無(wú)效問(wèn)題及解決
java -D參數(shù)設(shè)置系統(tǒng)屬性無(wú)效
我們都知道如何在Java中獲取系統(tǒng)屬性:
System.getProperty(ESClientConstance.HTTP_PROXY_HOST);
這樣可以獲取操作系統(tǒng)默認(rèn)的一些屬性值。
如果我們需要自定義一些系統(tǒng)屬性,那么這樣定義:
-Dhttp_proxy_host=192.19.19.19
但是要注意下面這種情況,會(huì)導(dǎo)致java -D失效,進(jìn)而導(dǎo)致System.getProperty獲取不到屬性值。
比如我的這樣一個(gè)以java -jar方式啟動(dòng)的腳本:
nohup java -agentlib:jdwp=transport=dt_socket,address=39502,server=y,suspend=n \ -jar /opt/spider-es-cli/es-client-1.0.0.jar \ -Dhttp_proxy_host=100.129.18.11 \ -Dhttp_proxy_port=3128 \ --spring.profiles.active=prod \ --server.port=9502 >/dev/null 2>&1 &
注意:-D錯(cuò)誤地配置在了-jar之后。
處理方式是將-D正確地配置在-jar之前即可。
同樣地,對(duì)java 類名方式啟動(dòng)也一樣,注意要將-D配置在類名之前。
java程序啟動(dòng)參數(shù) -D詳解
java程序啟動(dòng)參數(shù) -D是用來(lái)做什么的呢?
去查詢了一下官方解釋:
Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:
java -Dfoo="some string" SomeClass
也就是說(shuō)-D是用來(lái)在啟動(dòng)一個(gè)java程序時(shí)設(shè)置系統(tǒng)屬性值的。如果該值是一個(gè)字符串且包含空格,那么需要包在一對(duì)雙引號(hào)中。
何為系統(tǒng)屬性值呢?也就是在System類中通過(guò)getProperties()得到的一串系統(tǒng)屬性。
下面我們來(lái)寫個(gè)測(cè)試方法就知道了
/**
* @author lmfeng
* @date 2018/05/30
*/
public class SystemProperty {
public static void main(String[] args){
System.out.print(System.getProperty("dubbo.token"));
}
}
在運(yùn)行改程序時(shí)加上JVM參數(shù)-Ddubbo.token=“666” 或者 -Ddubbo.token=666,那么運(yùn)行之后你可以看到控制臺(tái)輸出了666!
一點(diǎn)值得注意的是,需要設(shè)置的是JVM參數(shù)而不是program參數(shù),注意看下圖

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java Web端程序?qū)崿F(xiàn)文件下載的方法分享
這篇文章主要介紹了Java Web端程序?qū)崿F(xiàn)文件下載的方法分享,包括一個(gè)包含防盜鏈功能的專門針對(duì)圖片下載的程序代碼示例,需要的朋友可以參考下2016-05-05
Java實(shí)現(xiàn)的簡(jiǎn)單字符串反轉(zhuǎn)操作示例
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單字符串反轉(zhuǎn)操作,結(jié)合實(shí)例形式分別描述了java遍歷逆序輸出以及使用StringBuffer類的reverse()方法兩種字符串反轉(zhuǎn)操作技巧,需要的朋友可以參考下2018-08-08
Nacos1.4.0 Windows10單機(jī)模式啟動(dòng)和集群?jiǎn)?dòng)過(guò)程解析
這篇文章主要介紹了Nacos1.4.0 Windows10單機(jī)模式啟動(dòng)和集群?jiǎn)?dòng),第一次使用nacos,廢話不多說(shuō),記錄下自己?jiǎn)?dòng)Nacos遇到的坑,感興趣的朋友跟隨小編一起看看吧2023-10-10
JavaWeb如何實(shí)現(xiàn)統(tǒng)一查詢接口(jfinal)
這篇文章主要介紹了JavaWeb如何實(shí)現(xiàn)統(tǒng)一查詢接口(jfinal),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
java統(tǒng)計(jì)漢字字?jǐn)?shù)的方法示例
這篇文章主要介紹了java統(tǒng)計(jì)漢字字?jǐn)?shù)的方法,結(jié)合實(shí)例形式分析了java正則判定、字符串遍歷及統(tǒng)計(jì)相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
Springboot?+redis+谷歌開源Kaptcha實(shí)現(xiàn)圖片驗(yàn)證碼功能
這篇文章主要介紹了Springboot?+redis+?歌開源Kaptcha實(shí)現(xiàn)圖片驗(yàn)證碼功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP軟件效果圖預(yù)覽之下載功能(2)
這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件,F(xiàn)TP軟件效果圖預(yù)覽之下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

