这是我的配置
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命令
最佳答案
Gradle使用每个任务的输入和输出来执行最新检查。如果自上次运行以来输入和输出未更改,则可以跳过。您需要将“env”添加为任务输入,以便在最新检查中将其考虑在内。
例如:
processResources {
inputs.properties(project.properties)
expand(project.properties)
}
参见up to date checks
关于spring-boot - 为什么我需要在构建之前手动运行清理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961738/