一、项目中资源路径文件夹结构
二、pom.xml文件需要添加下面内容
<!-- profiles 标签与 build标签为同级标签-->
<profiles>
<!--开发环境 -->
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
</profile>
<!--测试环境 -->
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
<!--生产环境 -->
<profile>
<id>pro</id>
<properties>
<profileActive>pro</profileActive>
</properties>
</profile>
</profiles>
<!-- resources 标签与plugins标签同级,为build子标签>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 开启过滤替换功能-->
<filtering>true</filtering>
<includes>
<!-- 项目打包完成的包中只包含当前环境文件 -->
<include>**/application.yml</include>
<include>**/application-${profileActive}.yml</include>
<include>mapper/**/*.xml</include>
<include>*.xml</include>
</includes>
</resource>
</resources>
大坑:
<resource>标签只能存在一对,并且 <includes>标签要把整个src/main/resources文件夹下你要打包的文件都描述全,否则会打包不进去或者打包多了,再就是执行maven update操作的时候,eclipse项目中的文件夹结构会发生变化,切记切记,重中之重。
注意:${profileActive}这个会被<profileActive>标签的值替换。
三、application.yml文件需要添加下面内容
spring:
profiles:
active: ${profileActive}
四、开始打包
右键项目——>run ——> maven build...
注意:上图中test被红框圈起来了,这个来源是<profile>的子标签id的值。也就是你想要打包那个配置文件,就填写那个配置文件的id值。