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