idea向System.getenv()添加系統(tǒng)環(huán)境變量的操作
idea如何設置系統(tǒng)環(huán)境變量
背景
最近在接入阿里云的短信服務,在使用阿里云短信服務的SDK過程中想看看SDK中HttpUtil 中
public static String debugHttpRequest(HttpRequest request) {
if (isHttpDebug) {
StringBuilder debugString = new StringBuilder();
String sysUrl = request.getSysUrl();
URL url = null;
try {
url = new URL(sysUrl);
debugString.append("> " + request.getSysMethod() + " " + url.getProtocol().toUpperCase() + "/1.1\n> ");
debugString.append("Host : " + url.getHost() + "\n> ");
} catch (MalformedURLException e) {
debugString.append("> " + request.getSysMethod() + " " + sysUrl + "\n> ");
debugString.append("Host : " + sysUrl + "\n> ");
}
Map<String, String> requestHeaders = request.getSysHeaders();
for (Entry<String, String> entry : requestHeaders.entrySet()) {
debugString.append(entry.getKey() + " : " + entry.getValue() + "\n> ");
}
debugString.append("Request URL : " + sysUrl + "\n> ");
if (isHttpContentDebug) {
try {
debugString.append("\n" + request.getHttpContentString());
} catch (ClientException e) {
debugString.append("\n" + "Can not parse response due to unsupported encoding : " + request
.getSysEncoding());
}
}
log.info("\n" + debugString);
return debugString.toString();
} else {
return null;
}
}
上述方法的debug信息,但是由于isHttpDebug是在靜態(tài)代碼塊中通過讀取系統(tǒng)環(huán)境變量判斷的
static {
Boolean flag = "sdk".equalsIgnoreCase(System.getenv("DEBUG"));
isHttpDebug = flag;
isHttpContentDebug = flag;
}
所以來想辦法如何設置這個DEBUG參數(shù)
讀取系統(tǒng)環(huán)境變量
for (String s : System.getenv().keySet()) {
System.out.println(s+":"+System.getenv(s));
}
設置系統(tǒng)環(huán)境變量


至此,通過idea設置程序運行系統(tǒng)環(huán)境變量就完成了??梢酝ㄟ^System.getenv()來查看設置的系統(tǒng)環(huán)境變量。
mac上ide中無法獲取環(huán)境變量的問題
工作環(huán)境:mac
IDE:eclipse or IntelliJ IDEA
工作中需要用環(huán)境變量來設置參數(shù),然后在程序啟動時發(fā)現(xiàn)之前在.bash_profile中配置的環(huán)境變量都讀不到,命令行echo一下是生效的。
后來定位到原因是idea啟動沒有獲取到環(huán)境變量。。我之前的啟動方式是直接雙擊圖標。
之后關閉ide,通過bash命令 open /Applications/xxx.app啟動ide。
System.out.println(System.getenv("LOCAL_PROXY"));
獲取到了之前配置的環(huán)境變量,問題解決。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法
本篇文章主要介紹了Spring Boot RestTemplate提交表單數(shù)據(jù)的三種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換實例分析
這篇文章主要介紹了Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換,結(jié)合實例形式分析了Java基本數(shù)據(jù)類型分類、用法,類型轉(zhuǎn)換及相關操作注意事項,需要的朋友可以參考下2020-04-04
SpringBoot+kaptcha實現(xiàn)圖片驗證碼功能詳解
這篇文章主要為大家詳細介紹了SpringBoot如何結(jié)合kaptcha實現(xiàn)圖片驗證碼功能,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下2024-01-01
SpringBoot 錯誤處理機制與自定義錯誤處理實現(xiàn)詳解
這篇文章主要介紹了SpringBoot 錯誤處理機制與自定義錯誤處理實現(xiàn)詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
出現(xiàn)SLF4J:?Failed?to?load?class?“org.slf4j.impl.StaticLog
本文主要介紹了出現(xiàn)SLF4J:?Failed?to?load?class?“org.slf4j.impl.StaticLoggerBinder“.的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
El表達式使用問題javax.el.ELException:Failed to parse the expression
今天小編就為大家分享一篇關于Jsp El表達式使用問題javax.el.ELException:Failed to parse the expression的解決方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Java發(fā)送http請求調(diào)用第三方接口獲取token方式
這篇文章主要介紹了Java發(fā)送http請求調(diào)用第三方接口獲取token方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

