【问题标题】:Cannot access environment variable on mac from System.getenv() in build.gradle无法从 build.gradle 中的 System.getenv() 访问 mac 上的环境变量
【发布时间】:2020-04-16 08:25:33
【问题描述】:

所以我需要根据环境变量在 gradle 中自定义依赖项。 为此,我使用export ENV=test 命令创建了一个变量。 我做了一个 printenv,我看到它在 mac 上的控制台中列出。 但是,当我从 build.gradle 文件执行 System.getenv() 时,它不可见。 建议?

【问题讨论】:

    标签: java macos gradle groovy


    【解决方案1】:

    我有类似的问题。
    在我的例子中,gradle 守护进程缓存了环境变量。
    为了重置缓存,我停止了恶魔 gradle。

    你可以使用下一个命令。

    gradle --status
    gradle --stop
    
    ./gradlew --status
    ./gradlew --stop
    

    status 显示可运行的恶魔。 如果没有,可以尝试使用 wrapper gradle 来停止。

    在下一次启动 gradle 之后有我的环境变量。

    【讨论】:

      【解决方案2】:

      我使用 Gradle 6.3 作为守护进程。 以下内容非常适合我:

      println System.getenv()
      

      【讨论】:

        【解决方案3】:

        要使用EXAMPLE的键获取您的环境,您可以执行以下操作:

        println System.getenv("EXAMPLE")
        

        它也适用于 5.5 版的 gradle。

        【讨论】:

        • 我正在这样做。当我执行 Syste.getEnv 的 println 时,我可以看到所有变量,但看不到我刚刚创建的变量。
        • 你是如何运行程序的?你使用 IntelliJ 吗?还是直接从 CLI 构建?
        • 两种都试过了。所以 build.gradle 就在那里,我做了一个 gradlew clean build
        猜你喜欢
        • 2011-07-04
        • 2018-03-17
        • 2014-07-29
        • 2015-11-08
        • 2014-02-11
        • 2021-05-05
        • 2018-10-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多