Maven Profile 多环境构建
配置文件目录结构
|-- resources
| |-- dev
| |-- production
| |-- qa
编辑pom.xml
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定,
这样公共文件(也就是这三个目录以外,resources目录下的文件)不需要重复指定-->
<excludes>
<exclude>qa/*</exclude>
<exclude>prod*/*</exclude>
<exclude>dev*/*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/${profiles.active}</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>product</id>
<properties>
<package.environment>product</package.environment>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
</profile>
<profile>
<id>qa</id>
<properties>
<package.environment>qa</package.environment>
</properties>
</profile>
</profiles>
可以指定默认启动用profile,profile节点中(properties后面)添加
<activation>
<activeByDefault>true</activeByDefault>
</activation>
在IntelliJ IDEA中,右侧Maven Projects 勾选指定的profile,例如:production
再指定lifecycle,例如:clean、compile等,执行后,production目录下的配置文件会输出到编译后的classes目录下,
mvn clean package -Pproduction 即构建出生产环境需要的war包
mvn tomcat:redeploy -Pqa 即发布到测试环境