天天看點

Maven實戰. 2.7Maven安裝最佳實踐

<b>2.7maven安裝最佳實踐</b>

本節介紹一些在安裝maven過程中不是必須的,但十分有用的實踐。

<b>2.7.1設定maven_opts環境變量</b>

前面介紹maven安裝目錄時我們了解到,運作mvn指令實際上是執行了java指令,既然是運作java,那麼運作java指令可用的參數當然也應該在運作mvn指令時可用。這個時候,maven_opts環境變量就能派上用場。

通常需要設定maven_opts的值為-xms128m -xmx512m,因為java預設的最大可用記憶體往往不能夠滿足maven運作的需要,比如在項目較大時,使用maven生成項目站點需要占用大量的記憶體,如果沒有該配置,則很容易得到java.lang.outofmemeoryerror。是以,一開始就配置該變量是推薦的做法。

關于如何設定環境變量,請參考前面設定m2_home環境變量的做法,盡量不要直接修改mvn.bat或者mvn這兩個maven執行腳本檔案。因為如果修改了腳本檔案,更新maven時就不得不再次修改,一來麻煩,二來容易忘記。同理,應該盡可能地不去修改任何maven安裝目錄下的檔案。

<b>2.7.2配置使用者範圍settings.xml</b>

maven使用者可以選擇配置$m2_home/conf/settings.xml或者~/.m2/settings.xml。前者是全局範圍的,整台機器上的所有使用者都會直接受到該配置的影響,而後者是使用者範圍的,隻有目前使用者才會受到該配置的影響。

推薦使用使用者範圍的settings.xml,主要是為了避免無意識地影響到系統中的其他使用者。如果有切實的需求,需要統一系統中所有使用者的settings.xml配置,當然應該使用全局範圍的settings.xml。

除了影響範圍這一因素,配置使用者範圍settings.xml檔案還便于maven更新。直接修改conf目錄下的settings.xml會導緻maven更新不便,每次更新到新版本的maven,都需要複制settings.xml檔案。如果使用~/.m2目錄下的settings.xml,就不會影響到maven安裝檔案,更新時就不需要觸動settings.xml檔案。

<b>2.7.3不要使用ide内嵌的maven</b>

無論eclipse還是netbeans,當內建maven時,都會安裝上一個内嵌的maven,這個内嵌的maven通常會比較新,但不一定很穩定,而且往往也會和在指令行使用的maven不是同一個版本。這裡又會出現兩個潛在的問題:首先,較新版本的maven存在很多不穩定因素,容易造成一些難以了解的問題;其次,除了ide,也經常還會使用指令行的maven,如果版本不一緻,容易造成建構行為的不一緻,這是我們所不希望看到的。是以,應該在ide中配置maven插件時使用與指令行一緻的maven。

在m2eclipse環境中,單擊菜單欄中的windows,然後選擇preferences,在彈出的對話框中,展開左邊的maven項,選擇installation子項,在右邊的面闆中,能夠看到有一個預設的embedded

maven安裝被選中了。單擊add...按鈕,然後選擇maven安裝目錄m2_home,添加完畢之後選擇這一個外部的maven,如圖2-14所示。圖2-14在eclipse中使用外部maven

netbeans maven插件預設會偵測path環境變量,是以會直接使用與指令行一緻的maven環境。依次單擊菜單欄中的工具→選項→其他→maven标簽欄,就能看到圖2-15所示的配置。 圖2-15在netbeans中使用外部maven