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)境變量。。我之前的啟動方式是直接雙擊圖標。
之后關(guān)閉ide,通過bash命令 open /Applications/xxx.app啟動ide。
System.out.println(System.getenv("LOCAL_PROXY"));
獲取到了之前配置的環(huán)境變量,問題解決。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
idea顯示springboot多服務啟動界面service操作
這篇文章主要介紹了idea顯示springboot多服務啟動界面service操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Java+Eclipse+Selenium環(huán)境搭建的方法步驟
這篇文章主要介紹了Java+Eclipse+Selenium環(huán)境搭建的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06Spring如何消除代碼中的if-else/switch-case
這篇文章主要給大家介紹了關(guān)于Spring如何消除代碼中if-else/switch-case的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請求解析
這篇文章主要為大家介紹了RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請求源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04Java利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏
這篇文章主要介紹了利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏,首先在需要進行脫敏的VO字段上面標注相關(guān)脫敏注解,具體實例代碼文中給大家介紹的非常詳細,需要的朋友可以參考下2021-10-10