不同于在application.properties中配置spring.profiles.active=xxx,这里是用文件夹配置,能容纳更多的配置文件。需要结合Maven的项目pom.xml文件,通过profiles标签设定, mvn命令激活,resources标签读取。
Step 1: 通过profiles标签设定环境ID,和环境对应的属性名、属性值。
<profiles>
<profile>
<!--不同环境Profile的唯一id-->
<id>dev4-ha</id>
<properties>
<!--profiles.active是自定义的属性名(名字随便起),可以有多个-->
<profiles.active>dev4-ha</profiles.active>
</properties>
<!--设置默认激活这个环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<id>uat</id>
<properties>
<profiles.active>uat</profiles.active>
</properties>
</profile>
</profiles>
Step 2: 构建时mvn命令激活某个环境
maven clean install -P uat (uat为Step1中的id标签的内容)
Step 3: 激活后,resource标签就能够读取Step1中设定的属性名。
<resources>
<resource>
<directory>src/main/resources/</directory>
<includes>
<include>messages/*</include>
<include>*.xml</include>
<include>security/*</include>
<include>poi/*</include>
</includes>
</resource>
<resource>
<!--读取属性名-->
<directory>src/main/resources/env/${profiles.active}</directory>
</resource>
</resources>
Step 4: 通过每个文件夹里的application.properties文件设置spring.profiles.active=xxx,xxx,xxx... 就可以激活文件夹下的多个properties配置文件。