Gradle构建spring boot应用程序作为战争与活动配置文件

时间:2014-07-16 14:12:26

标签: gradle spring-boot spring-profiles

我想将我的春季启动应用程序打包为特定配置文件的 war 。这可以通过在application.properties文件中设置spring.profiles.active = 配置文件名称来完成。 是否有可能在建立战争时将其设置为参数,例如。 gradle build --spring.profiles.active = 个人资料名称

1 个答案:

答案 0 :(得分:9)

听起来你想在战争结束时将spring.profiles.active的价值烘焙到战争中。您可以使用Gradle对资源过滤的支持来实现此目的。像这样配置application.properties

spring.profiles.active=@activeProfiles@

然后在build.gradle中应用过滤,将@activeProfiles@替换为属性值:

processResources {
    filter org.apache.tools.ant.filters.ReplaceTokens, tokens: [
        activeProfiles: activeProfiles
    ]
}

在此示例中,我使用了名为activeProfiles的属性。然后,当您运行构建时,您必须提供一个值:

./gradlew -PactiveProfiles=foo build