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