在企業級開發中,通常至少有三套環境,本地開發環境,測試環境,正式環境(有的還有預發環境),不一樣環境的配置文件的內容不一樣,像數據庫鏈接,三方接口的測試路徑與正式路徑的區分等等,手動修改不只耗時,還容易出錯。所以頗有必要進行環境隔離,下面咱們開始配置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命令同上,經驗證 也實現了環境隔離,而且文件目錄結構看起來也更加舒服了。測試