idea向System.getenv()添加系统环境变量的操作
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.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是在静态代码块中通过读取系统环境变量判断的
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()来查看设置的系统环境变量。
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显示springboot多服务启动界面service操作
这篇文章主要介绍了idea显示springboot多服务启动界面service操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09Java+Eclipse+Selenium环境搭建的方法步骤
这篇文章主要介绍了Java+Eclipse+Selenium环境搭建的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06Spring如何消除代码中的if-else/switch-case
这篇文章主要给大家介绍了关于Spring如何消除代码中if-else/switch-case的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-04-04RocketMQ broker 消息投递流程处理PULL_MESSAGE请求解析
这篇文章主要为大家介绍了RocketMQ broker 消息投递流程处理PULL_MESSAGE请求源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04
最新评论