背景
在使用springboot开发项目过程中,会有多种环境切换,例如开发环境,测试环境,演示环境,生产环境等,我们通过建立多个yml文件结合profiles.active属性进行环境指定,但是需要打包时就要手动更改配置文件逐个打包,容易造成不必要的误操作,本文就介绍如何进行不同环境配置文件的动态切换及一次性打包多个不同环境的部署包
配置pom文件
pom文件添加profiles配置,项目有多少个配置文件,添加多少个子节点,profiles标签于parent标签同级,这样我们就可以在右侧maven的配置项中勾选指定的环境
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<!-- 默认环境 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 演示环境 -->
<id>demo</id>
<properties>
<profileActive>demo</profileActive>
</properties>
</profile>
<profile>
<!-- 正式环境 -->
<id>pro</id>
<properties>
<profileActive>pro</profileActive>
</properties>
</profile>
</profiles>
配置打包文件名
我们需要动态的指定最终部署jar包的名字用于区分每个部署包对应的运行环境是哪一个,finalName标签与plugins标签同级
<finalName>${project.artifactId}-${profileActive}</finalName>
配置applcation.yml文件
我们需要将profiles.active文件指定为pom文件中的profileActive标签☞
profiles:
active: @profileActive@
打包多个运行环境部署包
通过windows的bat执行脚本,批量执行mvn命令,需要在项目的src同级目录运行
call mvn clean
call mvn package -P dev
call mvn package -P demo
call mvn package -P pro