1、前提
小记一下,先上图,实现如下需求,可以方便打包或者运行时选择指定环境配置
2、父pom文件
在父pom文件中添加如下代码,所属在<project>标签下
<profiles>
<profile>
<id>dev</id>
<properties>
<active>dev</active>
<permit.url>
- a 	- b 	- c
</permit.url>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<active>test</active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<active>prod</active>
</properties>
</profile>
</profiles>
3、application.yml
在application.yml中添加配置
spring:
# 环境 dev:开发环境|test:测试环境|prod:生产环境
profiles:
#激活的配置文件
active: @active@
4、注
项目中有几个配置文件,就在pom中配置几个
做如上配置后,启动会报错,原因是yml文件中使用了@符号,@符号是不被解析的,所以报错,解决方案:
在有配置文件的模块的pom文件中的<build>标签中添加如下配置
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${active}.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>application*.yml</exclude>
<exclude>lib/*</exclude>
</excludes>
</resource>
</resources>