gradle.properties是否可以访问环境变量

Tim*_*Tim 15 java environment-variables gradle build.gradle gradle.properties

我环顾四周,找不到任何访问 gradle.properties 中的环境变量的方法。

我能做什么:在我的 build.gradle 中,我可以访问这样的环境变量System.getenv("MY_VAR")。我想在我的 gradle.properties 中做同样的事情。

我想做的示例:在我的 gradle.properties 中替换build.foo=barbuild.foo=System.getenv("BAR")

到目前为止,我从 gradle.properties 访问环境变量的所有尝试都失败了。

任何对此事的见解都会很棒,谢谢!

小智 16

并非所有环境变量对 gradle 都是可见的。如果您可以使用特殊前缀命名它们,ORG_GRADLE_PROJECT_则它们将可用。你可以在这里读到它

ORG_GRADLE_PROJECT_foo可以在 gradle 中访问foo

  • 您的陈述是正确的,因为只有专门命名的 env 变量才会自动加载到 gradle 的内部属性中。但是您可以显式使用 System.getEnv('ENV_VAR") 将任何环境变量加载到 gradle 脚本中。 (5认同)

Fra*_*teo 9

在我的 gradle.properties 中找不到任何访问环境变量的方法。

你不能。gradle.properties没什么花哨的,它是一个标准的属性文件

您需要以某种方式对属性进行后处理,如此处所示。目前,Gradle 不提供任何此类“自定义加载”功能gradle.properties