我希望可以将我的Spring Boot应用程序打包成特定配置文件的war文件。这可以通过在应用程序的application.properties文件中设置spring.profiles.active=配置文件名称来实现。
是否可能在构建war文件时设置它作为参数,例如gradle build --spring.profiles.active=配置文件名称?
我希望可以将我的Spring Boot应用程序打包成特定配置文件的war文件。这可以通过在应用程序的application.properties文件中设置spring.profiles.active=配置文件名称来实现。
是否可能在构建war文件时设置它作为参数,例如gradle build --spring.profiles.active=配置文件名称?
看起来你想在构建war时将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
clean
命令:./gradlew -PactiveProfiles=switched clean build
。 - Andy WilkinsonactiveProfiles
属性。您尝试如何设置它? - Andy Wilkinsonspring.profiles.active=yourProfile
作为系统属性启动应用程序。 - Andy Wilkinson
-P
开关将参数传递给 Gradle 构建。然后通过项目实例引用传递的属性。 - Opal