两种方式
- 打包指定环境
- maven集成环境,打包指定
-
打包指定环境
application.properties application-dev.properties application-test.properties application-prod.properties
在application.properties文件中指定,内容如下:
spring.profiles.active=test
运行 jar 的时候指定(线上配置这样的参数)
Spring Boot内置的环境切换能够在运行Jar包的时候指定环境,命令如下:
java -jar xxx.jar --spring.profiles.active=test
2. maven集成环境,打包指定
在application.properties文件中这样配置
需要将Maven激活的环境作用于Spring Boot,实际还是利用了spring.profiles.active这个属性,只是现在这个属性的取值将是取值于Maven。配置如下:
spring:
profiles:
active: @profile.active@
profile.active实际上就是一个变量,在maven打包的时候指定的-P test传入的就是值。
pom 文件中定义 profiles
<!--定义三种开发环境-->
<profiles>
<profile>
<!--不同环境的唯一id-->
<id>dev</id>
<properties>
<!--profile.active对应application.yml中的@profile.active@-->
<profile.active>dev</profile.active>
</properties>
</profile>
<!--测试环境-->
<profile>
<id>test</id>
<activation>
<!--默认激活开发环境-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profile.active>test</profile.active>
</properties>
</profile>
<!--生产环境-->
<profile>
<id>prod</id>
<properties>
<profile.active>prod</profile.active>
</properties>
</profile>
</profiles>