项目结构
project_file_root
|—-main
|————java
|————resources
|————profile
|———————-dev
|———————-test
|———————-beta
|———————-release
pom.xml
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<config.dir>dev</config.dir>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<config.dir>test</config.dir>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<config.dir>beta</config.dir>
</properties>
</profile>
<profile>
<id>release</id>
<properties>
<config.dir>release</config.dir>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/profile/${config.dir}</directory>
<targetPath>./</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>./</targetPath>
</resource>
</resources>
</build>
思路
大致思路就是建一个profile的目录,这个目录名可以随意只要跟后面保持一致就行,然后在这个目录下面建几个按环境区分的目录,通常是dev(开发),test(测试),beta(预发),release(正式)。然后再通过maven的profile特性,生成按环境的${config.dir}的值。最后通过maven的resources标签来完成配置文件的拷贝,大功告成。
打包命令
mvn clean install -P(profile_id)
eg. mvn clean install -Pdev --打包开发环境的配置文件