提问者:小点点

Gradle构建Spring启动应用程序作为具有活动配置文件的战争


我想将我的Spring Boot应用程序打包为特定配置文件的war。这可以通过在application.properties文件中设置Spring. profile.active=profile name来完成。是否可以在构建war时将其设置为参数,例如。gradle build--晚宴.profile.active=profile name?


共1个答案

匿名用户

听起来你想在构建时将Spring. profile.active的值烘焙到war中。您可以使用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