如何在VS Code中设置JAVA环境变量

12

我有一个Spring Boot项目,我的IDE是VS Code。我想向我的应用程序传递一个环境变量。目前,我在Gradle命令之前设置它。

export PROJECT_NAME=test

./gradlew bootrun

PROJECT_NAME 是我的环境变量名称,在 application.properties 文件中访问。

Vscode 中为 Java 设置环境变量的推荐方法是什么?


字符串变量 = System.getProperty("mykey"); 将获取Java中的环境变量。https://dev59.com/Q3I-5IYBdhLWcg3wy7wd 不确定这是否符合您的要求。此外,还有 https://code.visualstudio.com/docs/getstarted/settings - JGFMK
@JGFMK 感谢您的建议。问题是我无法从 VS Code 将环境变量发送到 Java 应用程序中。在 Java 代码中访问该值没有问题。通过 VS Code 设置,我们可以设置通用环境变量,但不确定如何设置自定义参数。 - Mahesh Madushanka
1
@MaheshMadushanka 考虑接受 MinhTC 的答案。这是使用 VSCode 推荐的方法。 - GabrielBB
3个回答

22
为了在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"
      }
    }
  ]
}

2
当需要通过 args 设置密码时该怎么办?我不想在 build.json 中公开我的密码。但我希望我的同事可以访问配置文件。 - winklerrr
@winklerrr然后你可以将这个launch.json加入项目的.gitignore中,并要求所有同事在本地创建一个带有他们自定义设置的launch.json文件的示例 :) - montie
好的,但是当我在Java项目的Gradle菜单中执行gradle任务时,我如何选择launch.json文件中的配置之一呢? - undefined

4
我在尝试使用定制化环境变量运行JUNIT测试时遇到了相同的问题。上述提到的答案对我没有帮助。相反,根据这份文档,你需要在setting.json文件中创建一个env对象。完成后,我可以查询和获取自定义的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,可以在帮助-关于中看到:
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

只需转到运行菜单,然后单击打开配置,如下图所示。

enter image description here

这将打开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"
                 }
        }
    ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接