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

作者:欢谷悠扬 时间:2022-11-13 19:35:51 

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()添加系统环境变量的操作

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"));

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

来源:https://blog.csdn.net/yang131peng/article/details/108293734

标签:idea,System.getenv,环境变量
0
投稿

猜你喜欢

  • java设计模式-单例模式实现方法详解

    2022-02-15 13:56:01
  • Android实现保存QQ账号与密码功能(文件存储)

    2023-07-04 22:26:31
  • JAVA中的基本数据类型

    2023-07-29 07:38:34
  • C# 操作符之三元操作符浅析

    2022-12-18 16:50:47
  • C#隐式/显示实现接口方法详解

    2022-01-02 02:06:30
  • Android中使用itemdecoration实现时间线效果

    2021-10-08 12:15:49
  • Java实现字符串匹配的示例代码

    2023-04-17 05:24:35
  • 使用Java实现三种等级的扫雷游戏(完整版)

    2023-05-10 07:34:17
  • springboot集成spring cache缓存示例代码

    2021-10-20 07:57:54
  • SpringBoot整合Kafka工具类的详细代码

    2022-07-03 14:12:13
  • 对spring task和线程池的深入研究

    2022-08-08 10:32:38
  • Java字典生成算法讲解

    2023-11-25 00:17:29
  • SpringBoot整合java诊断工具Arthas解读

    2023-08-07 10:39:03
  • Android API开发之SMS短信服务处理和获取联系人的方法

    2021-10-23 03:22:15
  • 简单理解Java的垃圾回收机制与finalize方法的作用

    2023-02-04 01:49:37
  • Java线程间的通信方式详解

    2022-05-20 10:33:47
  • Android上传文件到服务器的方法

    2021-10-05 21:21:57
  • Idea如何导入一个SpringBoot项目的方法(图文教程)

    2022-08-10 22:40:49
  • Android开发实现SubMenu选项菜单和子菜单示例

    2022-05-31 06:32:10
  • 腾讯云部署javaWeb项目的实现步骤

    2023-11-05 18:03:29
  • asp之家 软件编程 m.aspxhome.com