我有一个问题。在我的应用中,我确实有几种配置:
application-prod.properties
application-test.properties
application-dev.properties
和主文件:
application.properties
包含一行:
spring.profiles.active=test
要构建和运行我正在使用的应用./gradlew buildNeeded
我可以以某种方式传递属性后缀:test,prod,dev以便在构建过程中使用它,以便我可以制作不同的bash脚本以在测试和prod服务器上运行安装过程吗?
我正在寻找类似./gradlew buildNeeded --spring.profiles.active=test
之类的东西或可以使用的东西...
答案 0 :(得分:0)
您可以使用spring-gradle-plugin来实现。
来自插件文档Passing arguments to your application
与所有JavaExec任务一样,可以将参数从 使用Gradle 4.9或-时使用--args =''命令行 后来。例如,使用名为dev的配置文件运行您的应用程序 active可以使用以下命令:
./gradlew bootRun --args='--spring.profiles.active=dev'
答案 1 :(得分:0)
您可以使用项目属性:
task buildNeeded {
doLast {
def springProfile = project.properties.getOrDefault('spring.profiles.active', 'test')
println springProfile
}
}
然后您可以使用
运行项目./gradlew buildNeeded -Pspring.profiles.active=test