首页 > 解决方案 > 我可以将内部 Spring Boot 变量传递给 gradlew 吗?

问题描述

我有个问题。在我的应用程序中,我确实有几个配置:

application-prod.properties
application-test.properties
application-dev.properties

和主文件:

application.properties

包含一行:

spring.profiles.active=test

构建和运行我正在使用的应用程序./gradlew buildNeeded

我可以以某种方式传递属性后缀:test, prod, dev 以便在构建过程中使用它,这样我就可以制作不同的 bash 脚本来在测试和产品服务器上运行安装过程?

我正在寻找类似./gradlew buildNeeded --spring.profiles.active=test或任何可行的东西......

标签: javaspringspring-bootgradlespring-profiles

解决方案


您可以使用项目属性:

task buildNeeded {
    doLast {
        def springProfile = project.properties.getOrDefault('spring.profiles.active', 'test')
        println springProfile
    }
}

然后你可以运行项目

./gradlew buildNeeded -Pspring.profiles.active=test

推荐阅读