Maven 學(xué)習(xí)筆記(二)
本文后續(xù)操作的前提是您已經(jīng)在您的本地操作系統(tǒng)上安裝了穩(wěn)定版本的 JDK,并正確配置了相關(guān)的環(huán)境變量。您可以在命令行輸入:java -version 命令,然后回車即可查看您本機(jī)的 JDK 安裝及配置是否正確,并可看到 JDK 的版本信息。下面的操作均基于 Windows XP。如果想學(xué)習(xí)在其他操作系統(tǒng)上的安裝,請(qǐng)?jiān)L問(wèn):http://www.sonatype.com/books/maven-book/reference_zh/installation.html
安裝Maven
下載 maven 最新的二進(jìn)制版本,下載地址:http://maven.apache.org/download.html。解壓 maven 歸檔文件至您想存放的目錄,例如:在我本機(jī),我將其解壓至:D:\programfile\ 目錄下。接下來(lái)只需要設(shè)置兩個(gè)環(huán)境變量就 OK 了:
1. 在您操作系統(tǒng)的用戶變量或者系統(tǒng)變量中添加一個(gè)變量 M2_HOME,其值即為 maven 的 home 路徑,在我本機(jī)即為:D:\programfile\maven-2.1.0,截圖如下:
2. 將 maven 的 bin 目錄路徑添加至系統(tǒng)變量或用戶變量的 path 變量的值中,要添加的部分為:%PATH%;%M2_HOME%\bin。截圖如下:
當(dāng)然您也可以在命令行設(shè)置環(huán)境變量,如圖所示:
但是在命令行設(shè)置環(huán)境變量后,您僅僅可以在當(dāng)前會(huì)話使用Maven。除非您把它們加入系統(tǒng)變量,否則您將需要每次登陸系統(tǒng)后運(yùn)行這兩行命令。
驗(yàn)證Maven安裝
當(dāng)Maven安裝完成后,你可以檢查一下它是否真得裝好了,通過(guò)在命令行運(yùn)行 mvn -v。如果Maven裝好了,你應(yīng)該能看到類似于下面的輸出。
C:\Documents and Settings\chenlong>mvn -v
Apache Maven 2.1.0 (r755702; 2009-03-19 03:10:27+0800)
Java version: 1.5.0_06
Java home: C:\Program Files\jdk1.5.0_06\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
如果你看到了這樣的輸出,那么Maven已經(jīng)成功安裝了。如果你看不到,而且你的操作系統(tǒng)找不到 mvn 命令,那么確認(rèn)一下PATH和M2_HOME環(huán)境變量是否已經(jīng)正確設(shè)置了。
Maven安裝細(xì)節(jié)
現(xiàn)在來(lái)看一下 maven 的安裝目錄下都有些什么東東:
LICENSE.txt
NOTICE.txt
README.txt
bin/
boot/
conf/
lib/
LICENSE.txt包含了Apache Maven的軟件許可證。 NOTICE.txt包含了一些Maven依賴的類庫(kù)所需要的通告及權(quán)限。README.txt包含了一些安裝指令。 bin/ 目錄包含了運(yùn)行Maven的mvn腳本。 boot/ 目錄包含了一個(gè)負(fù)責(zé)創(chuàng)建Maven運(yùn)行所需要的類裝載器的JAR文件(classworlds-1.1.jar)。 conf/ 目錄包含了一個(gè)全局的settings.xml文件,該文件用來(lái)自定義你機(jī)器上Maven的一些行為。如果你需要自定義Maven,更通常的做法是覆寫 ~/.m2目錄下的settings.xml文件,每個(gè)用戶都有對(duì)應(yīng)的這個(gè)目錄。lib/ 目錄有了一個(gè)包含Maven核心的JAR文件(maven-2.1.0-uber.jar)。
用戶相關(guān)配置和倉(cāng)庫(kù)
當(dāng)你不再僅僅滿足于使用Maven,還想擴(kuò)展它的時(shí)候,你會(huì)注意到Maven創(chuàng)建了一些本地的用戶相關(guān)的文件,還有在你home目錄的本地倉(cāng)庫(kù)。在 ~/.m2 目錄下有: ~/.m2/settings.xml
該文件包含了用戶相關(guān)的認(rèn)證,倉(cāng)庫(kù)和其它信息的配置,用來(lái)自定義Maven的行為。~/.m2/repository/
該目錄是你本地的倉(cāng)庫(kù)。當(dāng)你從遠(yuǎn)程Maven倉(cāng)庫(kù)下載依賴的時(shí)候,Maven在你本地倉(cāng)庫(kù)存儲(chǔ)了這個(gè)依賴的一個(gè)副本。
注意
在Unix或Mac OSX上,可以用 ~ 符號(hào)來(lái)表示你的home目錄,(如~/bin表示/home/tobrien/bin)。在Windows上,我們?nèi)匀皇褂?nbsp;~ 來(lái)表示你的home目錄。在Windows XP上,你的home目錄是 C:\Documents and Settings\chenlong,在Windows Vista上,你的home目錄是 C:\Users\chenlong。從現(xiàn)在開始,你應(yīng)該能夠理解這種路徑表示,并翻譯成你操作系統(tǒng)上的對(duì)應(yīng)路徑。
獲得Maven幫助
你首先應(yīng)該看看這里,Maven的web站點(diǎn)包含了豐富的信息及文檔。每個(gè)插件都有幾頁(yè)的文檔,這里還有一系列“快速開始”的文檔,它們是本書內(nèi)容十分有幫助的補(bǔ)充。雖然Maven站點(diǎn)包含了大量信息,但它同時(shí)也可能讓你迷惑沮喪。那里提供了一個(gè)自定義的Google搜索框,以用來(lái)搜索已有的Maven站點(diǎn)信息,它會(huì)比通用的Google搜索提供更好的結(jié)果。
Maven User Mailing List
Maven用戶郵件列表是用戶問(wèn)問(wèn)題的地方。在你問(wèn)問(wèn)題之前,你可以先搜索一下之前的討論,有可能找到相關(guān)問(wèn)題。問(wèn)一個(gè)已經(jīng)問(wèn)過(guò)的問(wèn)題,而不先查一下該問(wèn)題是否存在了,這種形式不太好。有很多有用的郵件列表歸檔瀏覽器,我們發(fā)現(xiàn)Nabble最有用。你可以在這里瀏覽郵件列表:http://www.nabble.com/Maven---Users-f178.html。你也可以按照這里的指令來(lái)加入用戶郵件列表:http://maven.apache.org/mail-lists.html。
Sonatype維護(hù)了一個(gè)本書的在線副本,以及其它Maven相關(guān)的指南。
注意
除去一些專門的Maven貢獻(xiàn)者所做的十分優(yōu)秀的工作,Maven web站點(diǎn)組織的比較糟糕,有很多不完整的,甚至有時(shí)候會(huì)誤導(dǎo)人的文檔片段。在整個(gè)Maven社區(qū)里,插件文檔的一般標(biāo)準(zhǔn)十分缺乏,一些插件的文檔十分豐富,但是另外一些連基本的使用命令都沒(méi)有。通常你最好是在用戶郵件列表里面去搜索下解決方案。
使用Maven Help插件
Maven Help插件能幫你列出活動(dòng)的Maven Profile,顯示一個(gè)實(shí)際POM(effective POM),打印實(shí)際settings(effective settings),或者列出Maven插件的屬性。
Maven Help 插件有四個(gè)目標(biāo)。前三個(gè)目標(biāo)是active-profiles、effective-pom、effective-settings,它們描述一個(gè)特定的項(xiàng)目,它們必須在項(xiàng)目的目錄下運(yùn)行。 最后一個(gè)目標(biāo)是describe,它相對(duì)比較復(fù)雜,展示某個(gè)插件或者插件目標(biāo)的相關(guān)信息。
help:active-profiles
列出當(dāng)前構(gòu)建中活動(dòng)的Profile(項(xiàng)目的,用戶的,全局的)。
help:effective-pom
顯示當(dāng)前構(gòu)建的實(shí)際POM,包含活動(dòng)的Profile。
help:effective-settings
打印出項(xiàng)目的實(shí)際settings, 包括從全局settings和用戶級(jí)別settings繼承而來(lái)的配置。
help:describe
描述插件的屬性。它不需要在項(xiàng)目目錄下運(yùn)行。但是你必須提供你想要描述插件的 groupId 和 artifactId。
help:describe 目標(biāo)的使用
通過(guò)該目標(biāo)的 plugin 參數(shù)你可以指定你想要研究哪個(gè)插件,你可以傳入插件的前綴(如 help 插件就是 maven-help-plugin),或者可以是 groupId:artifact[:version],這里version 是可選的。比如,下面的命令使用 help 插件的 describe 目標(biāo)來(lái)輸出 Maven Help 插件的信息:
mvn help:describe -Dplugin=help
通過(guò)設(shè)置 plugin 參數(shù)來(lái)運(yùn)行 describe 目標(biāo),輸出的是該插件的Maven坐標(biāo),目標(biāo)前綴,和該插件的一個(gè)簡(jiǎn)要介紹。盡管這些信息非常有幫助,但通常你還是需要了解更多的詳。如果你想要 Help 插件輸出完整的帶有參數(shù)的目標(biāo)列表,只要運(yùn)行帶有參數(shù) full 的 help:describe 目標(biāo)就可以了,像這樣:
mvn help:describe -Dplugin=help -Dfull
該選項(xiàng)能讓你查看插件所有的目標(biāo)及相關(guān)參數(shù)。但是有時(shí)候這些信息顯得太多了。這時(shí)候你可以獲取單個(gè)目標(biāo)的信息,設(shè)置 mojo 參數(shù)和 plugin 參數(shù)。下面的命令列出了Compiler 插件的 compile 目標(biāo)的所有信息:
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull
注意
什么?Mojo ?在Maven里面, 一個(gè)插件目標(biāo)也被認(rèn)為是一個(gè) "Mojo"。
posted on 2009-08-19 22:42 黃土高坡 閱讀(511) 評(píng)論(0) 編輯 收藏