Java 我可以将内部Spring引导变量传递给gradlew吗?

Java 我可以将内部Spring引导变量传递给gradlew吗?,java,spring,spring-boot,gradle,spring-profiles,Java,Spring,Spring Boot,Gradle,Spring Profiles,我有个问题。在我的应用程序中,我有几种配置: application-prod.properties application-test.properties application-dev.properties 和主文件: application.properties 包含一行: spring.profiles.active=test 要构建和运行我正在使用的应用程序,请使用/gradlew buildNeeded 我是否可以通过某种方式传递属性后缀:test、prod、dev,以便在构建

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

application-prod.properties
application-test.properties
application-dev.properties
和主文件:

application.properties
包含一行:

spring.profiles.active=test
要构建和运行我正在使用的应用程序,请使用
/gradlew buildNeeded

我是否可以通过某种方式传递属性后缀:test、prod、dev,以便在构建过程中使用它,从而可以生成不同的bash脚本来在test和prod服务器上运行安装过程


我正在寻找类似于
/gradlew buildNeeded--spring.profiles.active=test
的东西,或者任何可以工作的东西…

您可以使用spring-gradle插件实现这一点

来自插件文档

与所有JavaExec任务一样,参数可以从 使用Gradle 4.9或时使用--args=''的命令行 稍后。例如,使用名为dev的概要文件运行应用程序 激活可使用以下命令:


您可以使用项目属性:

task buildNeeded {
    doLast {
        def springProfile = project.properties.getOrDefault('spring.profiles.active', 'test')
        println springProfile
    }
}
然后,您可以使用

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