一、環境准備
java環境, jdk 1.5 以上
MyEclipse集成工具,我裝的是8.5 版本
二、快速安裝及配置
1、下載maven: http://maven.apache.org/docs/3.1.1/release-notes.html
下載apache-maven-3.*.*-bin.zip
解壓后, 配置環境變量%MAVEN_HOME%\bin 即可完成安裝,(MAVEN_HOME為解壓包位置)
測試maven3是否已經安裝,在dos上運行mvn -version,出現如下類似結果表示安裝完成

2、修改倉庫位置
2.1 win7系統默認的倉庫路徑是:C:\Users\用戶名\.m2\repository 修改為:D:\Program Files\Maven\Repositories
2.2 修改\apache-maven-3.1.0\conf 下的setting.xml文件, 找到<localRepository>D:\Program Files\Maven\Repositories</localRepository>這一行,進行修改
2.3 打開命令提示符, 輸入:mvn help:system, 該命令會打印出所有的java系統屬性和環境變量
3、修改myeclipse內嵌maven為自己安裝的版本
打開myEclipse,點擊Window->Preferences

三、創建maven項目例子
1、新建項目, 點擊File->Other 選擇Java Maven Project

圖1:new Maven Project

圖2:ProjectName\ Group Id\Artifact Id
2、新建項目后, maven項目結構如下圖

說明:
1)pom.xml在項目的根目錄下,打開pom.xml
2)pom.xml中, groupId artifactId和version,這3個元素定義了項目基本的坐標,
一般groupId跟創建的包關聯(名稱相同),如圖所示; artifactId定義了當前Maven項目在組中唯一的ID
3)pom.xml自動添加了依賴<dependency>,有了這個聲明, Maven能夠自動下載相應版本的junit.jar包,
如圖,已經下載到了本地倉庫C:\Users\${用戶名}\.m2\repository\junit\junit\versionxx,打開該路徑,可以看到junit-version.pom 和junit-version.jar
4)<dependency>添加依賴中,元素<scope>定義依賴范圍,當為test時候, 表示: import JUnit只能測試類中, 在主代碼中引入, 會編譯錯誤。
不聲明依賴范圍,默認值是compile,表示該依賴對主代碼和測試代碼都有效。
3、編寫主代碼(src/main/java下)並編譯
比如,在com.jennifer.test下建HelloMaven.java
代碼如下:

使用Maven進行編譯, 在項目根目錄下運行命令: mvn clean compile

說明:
1)clean,告訴Maven清理輸出目錄 target/
2)compile告訴Maven編譯項目主代碼,編譯后,在..\maventest2\target\classes的 \com\jennifer\test下生成了HelloMaven.class 文件
4、編寫測試代碼(src/test/java下)
如上2(3)所述, 已經添加了junit依賴,(默認創建項目后依賴的junit版本較低,改成4.8.1,此時,依賴的關聯包會自動更新),
下面用junit編寫測試類

編寫完畢后, 調用Maven執行測試,運行 mvn clean test

說明:
1)執行成功后, 在..\maventest2\target\test-classes的 \com\jennifer\test下生成了HelloMavenTest.class 文件
並且, target下面生成 surefire-reports,顯示運行結果報告
2)若構建執行compiler:testCompile任務的時候失敗了,Maven輸出提示需要使用 -source5或更高版本以啟動注釋
修改配置文件, 使maven-compiler-plugin支持java5,如下:

5、打包
執行打包命令:mvn clean package

說明:
1)執行打包命令,jar插件的jar目標將項目主代碼打包成一個名為hello-0.0.1-SNAPSHOT.jar,該文件位於target/ 輸出目錄中
默認命令規則:artifact-version.jar
2)將該 .jar文件拷貝下來, 導入到其他項目中, 就可以調用里面的類和提供的方法
3)直接在其他Maven引用的話, 執行安裝步驟:mvn clean install, 就會安裝到本地倉庫中, 同樣在repository倉庫文件夾里,生成該項目的.pom .jar文件(類似前面下載的junit)

6、運行
前面默認打包生成的jar不能夠直接運行, 因為帶有main方法的類信息不回添加到mainfest中,需要再配置插件

再重新執行 mvn clean install
回再生成一份新的帶有Main-Class信息的.jar文件,前面生成的被重命名為original-hello-0.0.1-SNAPSHOT.jar
在項目根目錄中執行該jar文件

四、maven與其他常用插件結合使用
上述中, 就有提到maven里面配置junit插件, 用來完成單元測試, 實際上,maven項目很容易跟其他插件結合起來使用
比如javadoc, 代碼覆蓋測量工具Cobertura等
1、javadoc配置如下:

配置javadoc后, 執行 mvn javadoc:javadoc 命令, 就會在..\target\site\apidocs目錄下生成 apidocs信息
2、Cobertura配置如下:
配置Cobertura后, 執行 mvn cobertura:cobertura 命令, 就會在..\target\site\cobertura目錄下,生成測試代碼覆蓋主代碼情況信息。
