idea向System.getenv()添加系統(tǒng)環(huán)境變量的操作
最近在接入阿里云的短信服務(wù),在使用阿里云短信服務(wù)的SDK過(guò)程中想看看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.1n> ');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)代碼塊中通過(guò)讀取系統(tǒng)環(huán)境變量判斷的
static {Boolean flag = 'sdk'.equalsIgnoreCase(System.getenv('DEBUG'));isHttpDebug = flag;isHttpContentDebug = flag; }
所以來(lái)想辦法如何設(shè)置這個(gè)DEBUG參數(shù)
讀取系統(tǒng)環(huán)境變量for (String s : System.getenv().keySet()) { System.out.println(s+':'+System.getenv(s));}設(shè)置系統(tǒng)環(huán)境變量
至此,通過(guò)idea設(shè)置程序運(yùn)行系統(tǒng)環(huán)境變量就完成了。可以通過(guò)System.getenv()來(lái)查看設(shè)置的系統(tǒng)環(huán)境變量。
mac上ide中無(wú)法獲取環(huán)境變量的問(wèn)題工作環(huán)境:mac
IDE:eclipse or IntelliJ IDEA
工作中需要用環(huán)境變量來(lái)設(shè)置參數(shù),然后在程序啟動(dòng)時(shí)發(fā)現(xiàn)之前在.bash_profile中配置的環(huán)境變量都讀不到,命令行echo一下是生效的。
后來(lái)定位到原因是idea啟動(dòng)沒(méi)有獲取到環(huán)境變量。。我之前的啟動(dòng)方式是直接雙擊圖標(biāo)。
之后關(guān)閉ide,通過(guò)bash命令 open /Applications/xxx.app啟動(dòng)ide。
System.out.println(System.getenv('LOCAL_PROXY'));
獲取到了之前配置的環(huán)境變量,問(wèn)題解決。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP防XSS 防SQL注入的代碼2. idea設(shè)置自動(dòng)導(dǎo)入依賴(lài)的方法步驟3. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式4. python pymysql鏈接數(shù)據(jù)庫(kù)查詢(xún)結(jié)果轉(zhuǎn)為Dataframe實(shí)例5. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)6. IDEA版最新MyBatis程序配置教程詳解7. 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)8. 教你如何寫(xiě)出可維護(hù)的JS代碼9. idea不能自動(dòng)補(bǔ)全yml配置文件的原因分析10. xml中的空格之完全解說(shuō)
