maven的环境隔离

    在企业级开发中,一般至少有三套环境,本地开发环境,测试环境,正式环境(有的还有预发环境),不同环境的配置文件的内容不同,像数据库连接,三方接口的测试路径与正式路径的区分等等,手动修改不仅耗时,还容易出错。因此很有必要进行环境隔离,下面我们开始配置maven环境隔离。

  第一步:在pom文件的build 节点下新增resources节点,具体如下

 1         <resources>
 2             <resource>
 3                 <directory>src/main/resources.${deploy.type}</directory>
 4                 <excludes><!-- 前后端分离的项目 这里的排除项则无需配置 -->
 5                     <exclude>*.jsp</exclude>
 6                 </excludes>
 7             </resource>
 8             <resource>
 9                 <directory>src/main/resources</directory><!-- 这里表示公共配置的 路径-->
10             </resource>
11         </resources>
 第二步:build同级下新增profiles节点,具体如下
 1 <!--idea 里面刷新maven project 并勾选默认开发环境  -->
 2   <profiles>
 3     <profile>
 4       <id>local</id>
 5       <activation>
 6         <activeByDefault>true</activeByDefault> <!--默认环境 -->
 7       </activation>
 8       <properties>
 9         <deploy.type>local</deploy.type>
10       </properties>
11     </profile>
12     <profile>
13       <id>test</id>
14       <properties>
15         <deploy.type>test</deploy.type>
16       </properties>
17     </profile>
18     <profile>
19       <id>prod</id>
20       <properties>
21         <deploy.type>prod</deploy.type>
22       </properties>
23     </profile>
24   </profiles>

  第三步:在项目路径下新建三个源文件夹及配置文件,同时公共配置保留在src/main/resources路径下,如下图的common.properties文件

 

  分别执行 mvn clean package -Dmaven.test.skip=true -Plocal, mvn clean package -Dmaven.test.skip=true -Ptest, mvn clean package -Dmaven.test.skip=true -Pprod

若我们mvn命令不接环境参数则默认使用local环境。从target文件夹下可以查看到不同的编译后的配置环境,实现了maven的环境隔离,小伙伴们快去试一下吧。

  有些有强迫症的小伙伴可能看着这个项目文件结构非常不舒服,因为它好像打乱了我们正常maven项目的结构目录,下面我们更换一点配置 更加优雅的实现maven的环境隔离。我们之间在resources下建立config目录,再建立三个环境的目录,并加上相应的配置环境,同时修改配置pom文件,具体见下图

   mvn命令同上,经验证 也实现了环境隔离,并且文件目录结构看起来也更加舒服了。

  有所收获的小伙伴们请点个赞加个关注吧!哈哈

猜你喜欢

转载自www.cnblogs.com/tjqBlog/p/9401377.html