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 即发布到测试环境