profiles的作用
方便于开发多环境的配置管理
原理
<profiles>
<profile>
// 不同环境的profile的id
<id>dev</id>
// 每个profile的属性
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
// 默认激活
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<build.profile.id>uat</build.profile.id>
</properties>
</profile>
</profiles>
通过resource来引入对于的build.profile.id的值,来引入对于配置文件
<resource>
<directory>src/main/profile/${build.profile.id}</directory>
<filtering>false</filtering>
</resource>
properties的文件类型
<resource>
<directory>
src/main/profile/profile-${build.profile.id}.properties
</directory>
</resource>
profiles:
active: costom
当我们通过profile激活不同的环境,配置文件可以通过获取不同环境的profile的属性来引入不同的配置文件,来达到自动切换环境。
激活
- 通过maven命令参数 maven打包时通过-P参数,-P后跟上profile的唯一id
mvn clean package -P
- 通过pom文件里的activation属性