SpringBoot结合Maven实现环境动态切换
项目开发中经常存在以下多个环境的配置文件:
application.yml
application-dev.yml
application-test.yml
application-prd.yml
在项目启动时,需要指定配置环境,而一般都是通过修改application.yml中的spring.profile.active=dev或test来手动修改
spring:
profile:
active: test
通过配置pom,可以实现环境动态切换:
第一步,先修改spring.profile.active
spring:
profile:
active: @profiles.active@
第二步,配置pom
<profiles>
<!--开发环境-->
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<!--默认环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--测试环境-->
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<!--生产环境-->
<profile>
<id>prd</id>
<properties>
<profiles.active>prd</profiles.active>
</properties>
</profile>
</profiles>
<build>
<resources>
<!--指定打包时排除的文件资源-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>application-*.yml</exclude>
</excludes>
</resource>
<!--指定打包时不排除的文件资源-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${profile.active}.yml</include>
</includes>
</resource>
</resources>
</build>
第三步,选择需要启动的环境