這裡說一下在使用Maven過程中不是必須的,但十分有用的幾個實踐,關鍵時刻或許能解決您的問題。
1.設置MAVEN_OPTS環境變量
通常需要設置MAVEN_OPTS的值為-Xms128m -Xmx512m,因為Java默認的最大可用內存往往不能夠滿足Maven運行的需要,比如在項目較大時,使用Maven生成項目站點需要占用大量的內存,如果沒有該配置,則很容易得到java.lang.OutOfMemeoryError異常。因此,一開始就配置該環境變量是推薦的做法。
關於如何設置環境變量,請參考前面的知識。
2.配置用戶范圍settings.xml
Maven用戶可以選擇配置Maven安裝目錄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文件。
一般情況下.m2目錄下是沒有settings.xml配置文件的,需要我們復制conf下面的settings.xml至.m2目錄下,然後再進行修改。
3.不要使用IDE內嵌的Maven
Eclipse在集成Maven時,都會安裝上一個內嵌的Maven,這個內嵌的Maven通常會比較新,但不一定很穩定,而且往往也和在命令行使用的Maven不是同一個版本。這裡會有兩個潛在的問題:首先,較新版本的Maven存在很多不穩定因素,容易造成一些難以理解的問題;其次,除了IDE,也經常還會使用命令行的Maven,如果版本不一致,容易造成構建行為的不一致,這是我們所不希望看到的。因此,應該在IDE中配置Maven插件時使用與命令行一致的Maven。
在Eclipse環境中,點擊菜單欄中的Window,然後選擇Preferences,在彈出的對話框中展開左邊的Maven項,選擇Installations子項,在右邊的面板中,能夠看到有一個默認的EMBEDDED Maven安裝被選中了。單擊Add...按鈕,然後選擇Maven安裝目錄,添加完畢之後選擇我們自己安裝的Maven,點擊OK按鈕,如圖:
其他類似的IDE或許在集成的時候也內嵌了Maven,同理,我們最好將它改為我們自己安裝的Maven。
4.在Eclipse中指定使用的settings.xml配置文件
在Eclipse環境中,點擊菜單欄中的Window,然後選擇Preferences,在彈出的對話框中展開左邊的Maven項,選擇User Settings子項,在右邊的面板中,單擊Browse...按鈕,然後選擇對應的settings.xml文件,設置完畢之後點擊OK按鈕,如圖:
小Alan使用的都是conf目錄下settings.xml,要統一系統中所有用戶的settings.xml配置,其他類似的IDE應該也有專門設置使用的settings.xml的地方。