快速更改Spring Boot的Active Profile设定

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/01/07/quick-change-active-profile/

Spring Boot支持Active Profile,可以方便在不同的环境中快速切换配置,但是这个配置本身的修改却不够简洁。

如果有两个profile,分别为dev和prod,那么在application.properties文件中

spring.profiles.active=dev

就指定了dev为当前配置。

因为使用了gradle构建工具,所以希望通过类似./gradlew dev bootRun的方式直接切换。

虽然Spring Boot本身支持运行时带参数,但是每次使用又有些繁琐,稍微修改一下build.gradle文件如下:

task dev << {
changeActiveProfile("dev")
}
task prod << {
changeActiveProfile("prod")
}
def changeActiveProfile(profile) {
def pFile = file("src/main/resources/application.properties")
Properties p = new Properties()
pFile.withInputStream {stream ->
p.load(stream)
}
p.setProperty("spring.profiles.active", profile)
pFile.withOutputStream {stream ->
p.store(stream,"Change active profile to ${profile}")
}
}

这样就可以每次运行dev或者prod任务时直接修改配置文件。

使用的时候直接

gradle prod war
gradle dev bootRun

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2015/01/07/quick-change-active-profile/

发表评论