1. 程式人生 > >建議:Maven安裝最佳實踐。

建議:Maven安裝最佳實踐。

設定MAVEN_OPTS環境變數

在Maven安裝目錄時,執行mvn命令實際上是執行了Java命令,既然是執行Java,那麼執行Java命令可用的引數當然也應該在執行mvn命令時可用。這個時候,MAVEN_OPTS環境變數就能派上用場。

我們通常需要設定MAVEN_OPTS的值為:-Xms128m –Xmx512m,因為Java預設的最大可用記憶體往往不能夠滿足Maven執行的需要,比如在專案較大時,使用Maven生成專案站點需要佔用大量的記憶體,如果沒有該配置,我們很容易得到java.lang.OutOfMemeoryError。因此,一開始就配置該變數是推薦的做法。

儘量不要直接修改mvn.bat或者mvn這兩個Maven執行指令碼檔案。因為如果修改了指令碼檔案,升級Maven時你就不得不再次修改,一來麻煩,二來容易忘記。同理,我們應該儘可能的不區修改任何Maven安裝目錄下的檔案。

配置使用者範圍settings.xml

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檔案。

不要使用IDE內嵌的Maven

無論是Eclipse還是NetBeans,當我們整合Maven,都會安裝上一個內嵌的Maven,這個內嵌的Maven通常會比較新,但不一定很穩定,而且往往也會和我們在命令列使用的Maven不是同一個版本。這裡有會出現兩個潛在的問題:首先,較新版本的Maven存在很多不穩定因素,容易造成一些難以理解的問題;其次,除了IDE,我們也經常還會使用命令列的Maven,如果版本不一致,容易造成構件行為的不一致,這是我們所不希望看到的。因此,我們應該在IDE中配置Maven外掛時使用與命令列一致的Maven。