您的位置:首页技术文章
文章详情页

idea向System.getenv()添加系统环境变量的操作

浏览:13日期:2024-07-14 14:45:32
idea如何设置系统环境变量背景

最近在接入阿里云的短信服务,在使用阿里云短信服务的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.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是在静态代码块中通过读取系统环境变量判断的

static {Boolean flag = 'sdk'.equalsIgnoreCase(System.getenv('DEBUG'));isHttpDebug = flag;isHttpContentDebug = flag; }

所以来想办法如何设置这个DEBUG参数

读取系统环境变量

for (String s : System.getenv().keySet()) { System.out.println(s+':'+System.getenv(s));}设置系统环境变量

idea向System.getenv()添加系统环境变量的操作

idea向System.getenv()添加系统环境变量的操作

至此,通过idea设置程序运行系统环境变量就完成了。可以通过System.getenv()来查看设置的系统环境变量。

mac上ide中无法获取环境变量的问题

工作环境:mac

IDE:eclipse or IntelliJ IDEA

工作中需要用环境变量来设置参数,然后在程序启动时发现之前在.bash_profile中配置的环境变量都读不到,命令行echo一下是生效的。

后来定位到原因是idea启动没有获取到环境变量。。我之前的启动方式是直接双击图标。

之后关闭ide,通过bash命令 open /Applications/xxx.app启动ide。

System.out.println(System.getenv('LOCAL_PROXY'));

获取到了之前配置的环境变量,问题解决。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。

标签: IDEA
相关文章: