描述: 为方便切换环境打包部署,增加profile支持。
(一)pom.xml增加profile配置。(这里我们只增加了两种环境,dev与prod)
<profiles>
<!--application-dev.yml-->
<profile>
<id>dev</id>
<properties>
<!-- profileActive为自定义字段 -->
<profileActive>dev</profileActive>
</properties>
<!-- activation指定此profile的激活方式,当前为默认激活 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--application-prod.yml-->
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
(二)resource目录下新建相应profile的yaml配置文件
|-resource
|- application.yml
|- application-dev.yml
|- application-prod.yml
(三)application.yml中配置依据maven profile使用不同配置文件。
spring:
profiles:
active: @profileActive@
(四)maven打包指定不同的profile
// 清理
mvn clean
// 打包,跳过junit单元测试,选择profile环境为prod环境。即使用application-prod.yml作为配置文件。prod为id
mvn package -DskipTests -Pprod
// 或者,使用application-dev.yml作为配置文件
mvn package -Pdev
解释: 根据激活环境的不同,自定义字段 profileActive 被赋予不同的值。