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 -Pprodjsp

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

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

 

 

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

相关文章
相关标签/搜索