之前项目用到过不同的环境需要切换不同的jdbc连接。只是知道可以在maven编译的时候指定参数用来切换环境。原理并不清楚。今天搞清楚原理了,写下来做个分享
配置文件中使用evn = xxx 来标识
如图不同的环境对应不同环境配置文件
在pom文件添加profiles配置
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault> // 这里是默认使用dev打包
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
buil中指定谁用
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>conf/**</exclude> //排除conf目录
</excludes>
</resource>
<resource>
<directory>src/main/resources/conf/${profiles.active}</directory> // 保留profiles.active属性
</resource>
</resources>
</build>
使用命令:mvn install -P test 就是使用test配置文件 P大写
效果可以在target 目录看到
希望自己以后回来看能看明白。。。。哈哈哈