macos - 如何将环境变量传递给由 Intellij IDEA 管理的 gradle 构建文件

标签 macos gradle intellij-idea environment-variables macos-big-sur

环境:macOS BigSur

我有一个 gradle 项目,它将使用私有(private)存储库来获取工件。要使用此类 repo 协议(protocol),我需要为 gradle 提供凭据。这些凭据本质上是暂时的,所以我需要不时地重新生成它们。为此,我尝试从环境变量中获取凭据。

repositories {
  maven {
    url 'https://***.codeartifact.***.amazonaws.com/maven/***'
      credentials {
        username "***"
        password System.getenv('CODEARTIFACT_AUTH_TOKEN')
    }
  }
}

我已经尝试通过 ~/.bash_profile & ~/.zshrc 设置这个凭据

当我通过终端运行 gradle 命令时,它起作用了。但是当我尝试通过 IDEA UI 重新加载 gradle 项目时,它无法查找环境变量。

enter image description here

看起来 IDEA 使用了一些忽略标准终端配置的东西。

出于好奇,我试图突出显示可用于 gradle 构建的环境变量。所以我添加了 print(System.getenv()) 来构建文件。当我通过 IDEA UI 重新加载项目时,它输出:

[PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin, JAVA_HOME:/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home, COMMAND_MODE:unix2003, VERSIONER_PYTHON_VERSION:2.7, LOGNAME:*******, XPC_SERVICE_NAME:application.com.jetbrains.intellij.ce.117113.118030, __CFBundleIdentifier:com.jetbrains.intellij.ce, SHELL:/bin/bash, USER:*******, TMPDIR:/var/folders/vf/thcas1g120g1df3brgb9h50w0450gp/T/, SSH_AUTH_SOCK:/private/tmp/com.apple.launchd.fa3tDAbfDE/Listeners, XPC_FLAGS:0x0, __CF_USER_TEXT_ENCODING:0x1F6:0x0:0x2, LC_CTYPE:en_GB.UTF-8, HOME:/Users/*******]

我猜有些东西设置了这个环境变量,但不清楚如何设置自定义变量。

有什么想法吗?

最佳答案

对我有帮助:
我在 /etc/launchd.conf 文件中添加了变量。
现在,来自 Intellij IDEA 的 Gradle 可以正常工作。

参见 https://apple.stackexchange.com/a/146047/17551 .

关于macos - 如何将环境变量传递给由 Intellij IDEA 管理的 gradle 构建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69086130/

相关文章:

java - Mac 上的硬件 UUID 是否适合用于许可

java - TODO 警告的 Sonar 类别

安装了Python 3,运行时出错

macos - Mac OS 10.16 链接 Homebrew 安装的库

java - Android 应用程序在 gms.vision api 的 Release模式下崩溃

maven - sahi开源是否支持ANT/MAVEN/GRADLE之类的构建工具?

gradle - 在Gradle测试任务中指定xmlpathinjar TestNG选项

intellij-idea - 如何在IntelliJ的REST客户端中将文件作为POST请求的参数发送?

java - Eclipse/Idea忽略了Maven Java版本配置

objective-c - 如何在Cocoa中获取当前的NSView?