Java 开发环境中的渐变构建参数

Java 开发环境中的渐变构建参数,java,spring-boot,gradle,intellij-idea,Java,Spring Boot,Gradle,Intellij Idea,我有一个Gradle的Spring Boot项目,我必须在Gradle文件中输入一些参数,这样我就可以在不同的环境下构建项目 比如我用 gradlew build docker -Penv_name=prod 我有一个定制的码头工人的名字 docker { dependsOn build name "gcr.io/app-${env_name}/app" } 这一切都很好,但问题是我从intelliJ那里得到了错误 Could not get unknown property 'en

我有一个Gradle的Spring Boot项目,我必须在Gradle文件中输入一些参数,这样我就可以在不同的环境下构建项目

比如我用

gradlew build docker -Penv_name=prod
我有一个定制的码头工人的名字

docker {
  dependsOn build
  name "gcr.io/app-${env_name}/app"
}
这一切都很好,但问题是我从intelliJ那里得到了错误

Could not get unknown property 'env_name' for root project
添加
def env_name=”“
显然可以解决这个问题


是否只有在尚未定义的情况下才可以定义
env_name
,或者可以通过某种方式为其设置默认值?

是的,您可以在Spring Boot项目()的根目录中的文件中定义一些默认值

在那里你可以定义所有的渐变属性,比如

env_name = dev
当您在命令行中使用此参数集运行gradle命令时,它将被覆盖,当从IntelliJ IDEA运行命令时,将使用默认参数

进一步阅读