標籤:
1. 安裝
Maven不需要作為服務元件安裝到Windows上,僅僅需要下載、解壓、配置一下環境變數即可。
1.1 JDK和JAVA_HOME
在安裝Maven之前,首先要確認你已經正確安裝了JDK。Maven可以運行在JDK1.4及以上的版本上。運行命令【echo % java_home % 】檢查環境變數JAVA_HOME是否指向了正確的JDK目錄;然後,運行命令【java -version】檢查jdk版本是否在1.4及以上版本。
1.2 下載Maven
下載Maven3.X(例如Maven3.2.3,目前已發展到Maven3.25版本) http://maven.apache.org/download.html 我們只需下載apache-maven-3.2.3-bin.zip檔案即可。如果你對Maven的原始碼感興趣並想自己構建Maven,還可以下載apache-maven-3.2.3-src.zip。
1.3 解壓
下載完成,只需要解壓apache-maven-3.2.3-bin.zip檔案即可,例如我的放到:F:\maven目錄下,如:
然後配置兩個環境變數:
MAVEN_HOME:F:\maven\apache-maven-3.2.3
Path(在其中添加):%MAVEN_HOME%\bin;
1.4 驗證
開啟命令列,輸入:echo%maven_home%,看看配置的maven_home目錄是否正確,如:
開啟命令列,輸入:mvn –version。若輸出如下內容,則表示Maven安裝成功:
2. 目錄介紹
如中的目錄內容:
- Bin:
該目錄包含了mvn啟動並執行指令碼,這些指令碼用來配置Java命令,準備好classpath和相關的Java系統屬性,然後執行Java命令。其中mvn是基於UNIX平台的shell指令碼,mvn.bat是基於Windows平台的bat指令碼。在命令列輸入任何一條mvn命令時,實際上就是在調用這些指令碼。該目錄還包含了mvnDebug和mvnDebug.bat兩個檔案,同樣,前者是UNIX平台的shell指令碼,後者是windows的bat指令碼。那麼mvn和mvnDebug有什麼區別和關係呢?開啟檔案我們就可以看到,兩者基本是一樣的,只是mvnDebug多了一條MAVEN_DEBUG_OPTS配置,作用就是在運行Maven時開啟debug,以便調試Maven本身。
- Boot:
該目錄只包含一個檔案,以maven 3.0為例,該檔案為plexus-classworlds-2.2.3.jar。plexus-classworlds是一個類載入器架構,相對於預設的java類載入器,它提供了更豐富的文法以方便配置,Maven使用該架構載入自己的類庫。更多關於classworlds的資訊請參考http://classworlds.codehaus.org/。對於一般的Maven使用者來說,不必關心該檔案。
- Conf:
該目錄包含了一個非常重要的檔案settings.xml。直接修改該檔案,就能在機器上全域地定製Maven的行為。一般情況下,我們更偏向於複製該檔案至~/.m2/目錄下(這裡~表示使用者目錄),然後修改該檔案,在使用者範圍定製Maven的行為。
- Lib:
該目錄包含了所有Maven運行時需要的Java類庫,Maven本身是分模組開發的,因此使用者能看到諸如mavn-core-3.0.jar、maven-model-3.0.jar之類的檔案,此外這裡還包含一些Maven用到的第三方依賴如common-cli-1.2.jar、google-collection-1.0.jar等等。(對於Maven 2來說,該目錄只包含一個如maven-2.2.1-uber.jar的檔案原本各為獨立JAR檔案的Maven模組和第三方類庫都被拆解後重新合并到了這個JAR檔案中)。可以說,這個lib目錄就是真正的Maven。關於該檔案,還有一點值得一提的是,使用者可以在這個目錄中找到Maven內建的超級POM,這一點在8.5小節詳細解釋。其他:LICENSE.txt記錄了Maven使用的軟體許可證Apache License Version 2.0;NOTICE.txt記錄了Maven包含的第三方軟體;而README.txt則包含了Maven的簡要介紹,包括安裝需求及如何安裝的簡要指令等等。
3. 與Eclipse整合
在Eclipse 安裝 Maven 的 m2eclipse 外掛程式即可。安裝步驟如下:
3.1 安裝方法一:
啟動Eclipse,Help--> Install New Software…
點擊Work with:欄位邊上的Add按鈕,會得到一個新的AddRepository對話方塊
在Name欄位中輸入m2e,Location欄位中輸入http://download.eclipse.org/technology/m2e/releases,然後點擊OK。
Eclipse會下載m2eclipse安裝網站上的資源資訊。等待資源載入完成之後,可以看到圖所示的介面:
選中m2eclipse的核心模組Maven Integration for Eclipse(Required),選擇後單擊Next按鈕,Eclipse會自動計算模組間依賴,然後給出一個將被安裝的模組列表。確認無誤後,繼續單擊Next按鈕,這時會看到許可證資訊。m2eclipse使用的開源許可證是Eclipse Public Licensevl.0,選擇I accept theterms of the license agreements,然後單擊Finish按鈕,
接著就耐心等待Eclipse下載安裝這些模組即可。
3.2 安裝方法二:
啟動Eclipse,Help -->Eclipse MarketPlace,在開啟的介面搜尋方塊中輸入maven尋找m2eclipse外掛程式,出現如:
選擇Maven Integrationfor Eclipse,直接點擊Install,選擇後confirm,選擇I accept the termsof the license agreements,然後點擊Finish,接著就耐心等待Eclipse安裝完成即可。
3.3 檢查是否安裝成功
(1) 點擊Help – about eclipse
點擊installationdetails
在Installed Software目錄下看是否存在Maven Integration for Eclipse,如:
(2) 再檢查eclipse是否可以建立Maven項目了
File-New- Other,找到Maven項,如果展開一切正常,說明m2eclipse已經正確安裝了。
4. 推薦配置
4.1 設定MAVEN_OPTS環境變數
前面介紹Maven安裝目錄時我們瞭解到,運行mvn命令實際上是執行了Java命令,既然是運行Java,那麼運行Java命令可用的參數當然也應該在運行Maven命令時可用。這個時候,MAVEN_OPTS環境變數就能派上用場。
通常需要設定MAVEN_OPTS的值為-Xms128m –Xmx512m,因為Java預設的最大可用記憶體往往不能夠滿足Maven啟動並執行需要,比如在項目較大時,使用Maven產生項目網站需要佔用大量的記憶體,如果沒有該配置,則很容易得到java.lang.Out0fMemeoryError。因此,一開始就配置該變數是推薦的做法。
4.2 配置使用者範圍settings.xml
使用者可以選擇配置$MAVEN_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.xrnl.就不會影響到Maven安裝檔案,升級時就不需要觸動settings.xml檔案。
4.3 不要使用IDE內嵌的Maven
無論Eclipse還是NetBeans,當整合Maven時,都會安裝上一個內嵌的Maven,這個內嵌的Maven通常會比較新,但不一定很穩定,而且往往也會和在命令列使用的Maven不是同一個版本。這裡又會出現兩個潛在的問題:首先,較新版本的Maven存在很多不穩定因素,容易造成一些難以理解的問題; 其次,除了IDE,也經常還會使用命令列的Maven,如果版本不一致,容易造成構建行為的不一致,這是我們所不希望看到的:因此,應該在IDE中配置Maven外掛程式時使用與命令列一致的Maven。
在m2eclipse環境中,單擊功能表列中的Window。,然後選擇Preferences,在彈出的對話方塊中,展開左邊的Maven項,選擇Installations子項,在右邊的面板中,能夠看到有一個預設的Embedded Maven安裝被選中了單擊Add…按鈕,然後選擇Maven安裝目錄MAVEN_HOME,添加完畢之後選擇這一個外部的Maven,如:
5. 總結
本文主要介紹了Maven在Windows作業系統上的安裝配置,下載-解壓-配置環境變數; 以及Maven目錄的資訊介紹,主要是我們經常操作的settings.xml檔案;以及與Eclipse的整合,主要是安裝m2eclipse外掛程式;以及一些推薦配置。
Maven安裝及與Eclipse整合