使用Maven中的Profiles标签实现项目启动或项目打包时环境动态控制
1.application.yml
spring:
profiles:
active: @profile.active@
@…@ 表示引用Maven项目的属性
2.项目的pom.xml (多个模块则在父pom.xml)
<build>
<!-- 这个必须引入,否则启动默认环境以外的配置时会报错 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!--开启过滤,用指定的参数替换directory下的文件中的参数-->
<filtering>true</filtering>
</resource>
</resources>
</build>
<!-- 动态控制本地启动或打包时选择哪个环境,执行对应的环境配置文件 -->
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profile.active>dev</profile.active>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profile.active>prod</profile.active>
</properties>
</profile>
</profiles>
这时在pom.xml中加载刚刚的配置,然后可以在IDEA右上角中的maven界面中 看到 多了一个 profiles ,可以通过它来选择项目启动或项目打包时的环境