一.实际的项目环境
- 本地开发环境 (Local)
- 开发环境 (Dev)
- 测试环境 (Beta)
- 线上环境 (Prod)
二. 隔离环境之间各种配置存在的差异
- 数据库配置不一样
- FTP服务器相关配置不一样
- ......
三. Maven环境隔离配置及原理
<!--Maven环境隔离配置-->
<resource>
<directory>src/main/resources/resources.${deploy.type}</directory>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
<!--Maven环境隔离配置-->
- pom.xml 中增加profiles节点(与build节点同级)
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>
四. Maven环境隔离目录初始化
- 新建对应的文件夹,并把要隔离的文件分开,公共的留下
五. Maven环境隔离IDEA中设置默认环境
六. Maven环境隔离编译打包命令
- 参数 : -P${环境标识}
- 环境 : beta dev prod
- mvn clean package -Dmaven.test.skip=true -Pbeta
- mvn clean package -Dmaven.test.skip=true -Pdev
- mvn clean package -Dmaven.test.skip=true -Pprod