<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

    首先簡單介紹下 Maven 的 profile 是什么。對于人來說,profile 是指人的肖像,輪廓,比如論壇里每個人注冊了帳號后,可以設置自己的 profile,放上照片,介紹等等。對于 Maven 來說又是怎樣呢?整個項目定義好了項目對象模型(POM),就像論壇為每個人提供了默認的行為功能,如果我想改變我機器上的 POM 呢?這時就可以使用 profile。下面舉個例子:

    Xml代碼
    1. <profiles>  
    2.   <profile>  
    3.     <id>jdk16</id>  
    4.     <activation>  
    5.       <jdk>1.6</jdk>  
    6.     </activation>  
    7.     <modules>  
    8.       <module>simple-script</module>  
    9.     </modules>  
    10.   </profile>  
    11. </profiles>  

    這個 profile 的意思是,當機器上的 JDK 為1.6的時候,構建 simple-script 這個子模塊,如果是1.5或者1.4,那就不構建,這個 profile 是由環境自動激活的。

    我們需要在合適的地方使用合適的 profile ,并且在合適的時候用合適的方式將其激活,你不能在構建服務器上激活非公共的 profile,你也不能要求開發人員寫很復雜的命令來使用常規的 profile。因此這里介紹一下幾種 profile 的激活方式。

    1. 根據環境自動激活。

    如前一個例子,當 JDK 為1.6的時候,Maven 就會自動構建 simple-script 模塊。除了 JDK 之外,我們還可以根據操作系統參數和 Maven 屬性等來自動激活 profile,如:

    Xml代碼
    1. <profile>  
    2.   <id>dev</id>  
    3.   <activation>  
    4.     <activeByDefault>false</activeByDefault>  
    5.     <jdk>1.5</jdk>  
    6.     <os>  
    7.       <name>Windows XP</name>  
    8.       <family>Windows</family>  
    9.       <arch>x86</arch>  
    10.       <version>5.1.2600</version>  
    11.     </os>  
    12.     <property>  
    13.       <name>mavenVersion</name>  
    14.       <value>2.0.5</value>  
    15.     </property>  
    16.     <file>  
    17.       <exists>file2.properties</exists>  
    18.       <missing>file1.properties</missing>  
    19.     </file>  
    20.   </activation>  
    21.   ...  
    22. </profile>  

    2. 通過命令行參數激活。

    這是最直接和最簡單的方式,比如你定義了一個名為 myProfile 的 profile,你只需要在命令行輸入 mvn clean install -Pmyprofile 就能將其激活,這種方式的好處很明顯,但是有一個很大的弊端,當 profile 比較多的時候,在命令行輸入這寫 -P 參數會讓人覺得厭煩,所以,如果你一直用這種方式,覺得厭煩了,可以考慮使用其它自動激活的方式。

    3. 配置默認自動激活。

    方法很簡單,在配置 profile 的時候加上一條屬性就可以了,如:

    Xml代碼
    1. <profile>  
    2.   <id>dev</id>  
    3.   <activation>  
    4.     <activeByDefault>true</activeByDefault>  
    5.   </activation>  
    6.   ...  
    7. </profile>  

    在一個特殊的環境下,配置默認自動激活的 profile 覆蓋默認的 POM 配置,非常簡單有效。

    4. 配置 settings.xml 文件 profile 激活。

    settings.xml 文件可以在 ~/.m2 目錄下,為某個用戶的自定義行為服務,也可以在 M2_HOME/conf 目錄下,為整臺機器的所有用戶服務。而前者的配置會覆蓋后者。同理,由 settings.xml 激活的 profile 意在為用戶或者整個機器提供特定環境配置,比如,你可以在某臺機器上配置一個指向本地數據庫 URL 的 profile,然后使用該機器的 settings.xml 激活它。激活方式如下:

    Xml代碼
    1. <settings>  
    2.   ...  
    3.   <activeProfiles>  
    4.     <activeProfile>local_db</activeProfile>  
    5.   </activeProfiles>  
    6. </settings>  

    Maven 提供的 profile 功能非常強大和靈活,用得好的話,可以有效的隔離很多特殊的配置,使得整個項目能在不同環境中順利的構建。但是,強大和靈活帶來得問題是相對難掌握,希望本文能對 Maven 使用者有幫助。

    posted on 2010-02-08 13:58 seal 閱讀(873) 評論(1)  編輯  收藏 所屬分類: Maven

    評論

    # re: 激活Maven profile的幾種方式(轉) 2010-02-08 16:30 oF27SARAH
    You are sharing such great information! I opine, it will be compared with good ringtones ringers at the <a href="http://www.milliontones.com">ringtones</a> web sites.   回復  更多評論
      

    主站蜘蛛池模板: 亚洲av日韩av高潮潮喷无码 | 久久久久亚洲精品天堂| 永久免费无码日韩视频| 免费毛片在线播放| 亚洲国产精品ⅴa在线观看| 最近免费中文字幕4| 亚洲欧美自偷自拍另类视| 97无码免费人妻超级碰碰夜夜| 亚洲国产中文在线二区三区免| h视频在线免费看| 亚洲人成7777影视在线观看| 日本高清在线免费| 亚洲一区在线免费观看| 在线观看免费毛片| 亚洲国产精品自在自线观看| 国产麻豆剧传媒精品国产免费 | 黄色a三级免费看| 亚洲免费一区二区| 两个人看的www视频免费完整版| 色噜噜AV亚洲色一区二区| 成人电影在线免费观看| 夜夜亚洲天天久久| 毛片免费视频播放| 国产亚洲一卡2卡3卡4卡新区| 亚洲国产精品一区二区第一页免| 精品国产免费一区二区三区| 亚洲乱码中文字幕久久孕妇黑人| 日本在线看片免费人成视频1000| 亚洲精品熟女国产| 国产啪精品视频网免费| 黄人成a动漫片免费网站| 337p日本欧洲亚洲大胆裸体艺术| 日韩免费无码视频一区二区三区| 亚洲精品免费在线视频| 国产精品成人四虎免费视频| 牛牛在线精品观看免费正| 久久久久亚洲AV无码专区首| 成年人在线免费看视频| 久久免费视频一区| 亚洲H在线播放在线观看H| 亚洲欧洲精品成人久久曰影片|