这是我的配置
application.yml
spring:
profiles.active: ${env}
build.gradle
processResources {
expand(project.properties)
}
如果我运行此程序一切正常
gradle clean build -Penv=a
gradle clean build -Penv=b
但是如果我运行此命令,“ env”属性将保留在第一个配置中
gradle build -Penv=a
gradle build -Penv=b
奇怪的是,如果我放clean { println "CLEAN" }
,我发现每次使用所有4条命令都调用clean命令
答案 0 :(得分:1)
Gradle使用每个任务的输入和输出来执行最新检查。如果自上次运行以来输入和输出未更改,则可以跳过它。您需要将“ env”添加为任务输入,以便在最新检查中予以考虑。
例如:
processResources {
inputs.properties(project.properties)
expand(project.properties)
}