1. 程式人生 > >Java之品優購課程講義_day20(3)

Java之品優購課程講義_day20(3)

.Maven Profile
2.1 什麼是 MavenProfile
在我們平常的 java 開發中,會經常使用到很多配製檔案(xxx.properties,xxx.xml),而 當我們在本地開發(dev),測試環境測試(test),線上生產使用(product)時,需要不 停的去修改這些配製檔案,次數一多,相當麻煩。現在,利用 maven 的 filter 和 profile 功能, 我們可實現在編譯階段簡單的指定一個引數就能切換配製,提高效率,還不容易出錯.
profile 可以讓我們定義一系列的配置資訊,然後指定其啟用條件。這樣我們就可以定義 多個 profile,然後每個 profile 對應不同的啟用條件和配置資訊,從而達到不同環境使用不同 配置資訊的效果。
2.2 Maven Profile 入門
修改 pinyougou-page-web 的 pom.xml

<properties>
  <port>9105</port>
 </properties>
 <build>  
  <plugins>      
      <plugin>
<groupId>org.apache.tomcat.maven</groupId>
   <artifactId>tomcat7-maven-plugin</artifactId>
   <version>2.2</version>
   <configuration>
    <!-- 指定埠 --> 
    <port>${port}</port>
    <!-- 請求路徑 --> 
    <path>/</path>
   </configuration>
     </plugin>
  </plugins>  
   </build>

執行 tomcat7:run ,發現執行結果是一樣的,因為 port 是變數,而變數值是定義為 9105。這 其實就是我們之前學習的 maven 的變數。
那我們現在思考一下,如果這個埠在開發時使用 9105,如果在生產環境(或其他環境) 為 9205 呢?如何解決值的動態切換呢?
這時我們修改 pom.xml,增加 profile 定義

<profiles>
   <profile>
    <id>dev</id>
    <properties>
     <port>9105</port>
    </properties>
   </profile>
<profile>
    <id>pro</id>
    <properties>
     <port>9205</port>
    </properties>
   </profile>  
  </profiles>

執行命令 tomcat7:run -P pro 發現以 9205 埠啟動
執行命令 tomcat7:run -P dev 發現以 9105 埠啟動
-P 後邊跟的是 profile 的 id
如果我們只執行命令 tomcat7:run ,也是以 9105 啟動,因為我們一開始定義的變數值就是 9105,就是在不指定 profileID 時的預設值.