【问题标题】:How to set JAVA environment variable in VS Code如何在 VS Code 中设置 JAVA 环境变量
【发布时间】:2020-04-28 11:02:19
【问题描述】:

我有一个 spring-boot 项目,我的 IDE 是 VS 代码。我想将环境变量传递给我的应用程序。现在我在 Gradle 命令之前设置它

export PROJECT_NAME=test

./gradlew bootrun

PROJECT_NAME 是我的环境变量,我在 application.properties 中访问它

在 Java 的 VS 代码中设置环境变量的推荐方法是什么

【问题讨论】:

  • 字符串变量 = System.getProperty("mykey");会在 Java 中获得一个环境变量。stackoverflow.com/questions/1672281/… 不确定这是否是你所追求的。还有这个code.visualstudio.com/docs/getstarted/settings
  • @JGFMK 感谢您的意见。问题是我无法将环境变量从 vs 代码发送到 java 应用程序。从java代码访问值没有问题。通过 VS 代码设置,我们可以设置通用环境变量,但不确定自定义参数
  • @MaheshMadushanka 考虑接受 MinhTC 的回答。这是使用 VSCode 的推荐方法

标签: java gradle visual-studio-code environment-variables


【解决方案1】:

如果您使用的是以下版本的 VSCode,您可以查看帮助 -> 关于,

Version: 1.60.2 (user setup)
Commit: 7f6ab5485bbc008386c4386d08766667e155244e
Date: 2021-09-22T12:00:31.514Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.18363

只需进入运行菜单并点击Open Configurations,如下图所示。

这将打开launch.json,现在您可以添加特定于您的环境详细信息的环境详细信息。示例如下。

{
    "configurations": [

        {
            "type": "java",
            "name": "Spring-Boot-App",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "console": "internalConsole",
            "mainClass": "com.blr.appName.ApplicationName",
            "projectName": "projectName",
            "args": "",
            "env": {
                "PROJECT_NAME": "FOO_PROJECT",
                "licenseKeyDetails":"license_details",
                "serialNumber":"ABCDEFG"
                 }
        }
    ]
}

【讨论】:

    【解决方案2】:

    我在尝试使用自定义环境变量运行 JUNIT 测试时遇到了同样的问题。上面提到的答案对我没有帮助。相反,根据documentation,您必须在 setting.json 文件中创建一个 env 对象。之后,我可以查询并获取自定义的环境变量来运行这些测试。

    {
        "java.semanticHighlighting.enabled": true,
        "window.zoomLevel": 0,
        "editor.suggestSelection": "first",
        "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
        "java.requirements.JDK11Warning": false,
        "http.proxyAuthorization": null,
        "java.test.config": {
            "name": "ENVIRONMENT_JSON",
            "workingDirectory": "${workspaceFolder}",
            "env": {
                "CF_ORG": "testOrg",
                "CF_SPACE": "testSpace", 
                ....
                ....
            }
        }
    }
    

    【讨论】:

      【解决方案3】:

      为了在 VSCode 中为 Spring Boot 应用程序设置环境变量,推荐的方法是在项目的 .vscode 文件夹中创建一个 launch.json 文件,然后添加“env”部分,如下例所示:

      {
        "configurations": [
          {
            "type": "java",
            "name": "Spring Boot-DemoApplication<demo>",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "console": "internalConsole",
            "mainClass": "com.example.demo.DemoApplication",
            "projectName": "demo",
            "args": "",
            "env": {
              "PROJECT_NAME": "FOO_PROJECT"
            }
          }
        ]
      }
      

      【讨论】:

      • 当需要通过 args 设置密码时该怎么办?我不想用我的密码提交build.json。但我希望我的其他同事能够访问配置文件。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      相关资源
      最近更新 更多