1、環境準備html
java環境, jdk 1.5 以上java
MyEclipse集成工具,我裝的是8.5 版本apache
2、快速安裝及配置api
一、下載maven: http://maven.apache.org/docs/3.1.1/release-notes.htmleclipse
下載apache-maven-3.*.*-bin.zipmaven
解壓後, 配置環境變量%MAVEN_HOME%\bin 便可完成安裝,(MAVEN_HOME爲解壓包位置)工具
測試maven3是否已經安裝,在dos上運行mvn -version,出現以下相似結果表示安裝完成單元測試
二、修改倉庫位置測試
2.1 win7系統默認的倉庫路徑是:C:\Users\用戶名\.m2\repository 修改成:D:\Program Files\Maven\Repositoriesspa
2.2 修改\apache-maven-3.1.0\conf 下的setting.xml文件, 找到<localRepository>D:\Program Files\Maven\Repositories</localRepository>這一行,進行修改
2.3 打開命令提示符, 輸入:mvn help:system, 該命令會打印出全部的java系統屬性和環境變量
三、修改myeclipse內嵌maven爲本身安裝的版本
打開myEclipse,點擊Window->Preferences
3、建立maven項目例子
一、新建項目, 點擊File->Other 選擇Java Maven Project
圖1:new Maven Project
圖2:ProjectName\ Group Id\Artifact Id
二、新建項目後, 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,表示該依賴對主代碼和測試代碼都有效。
三、編寫主代碼(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 文件
四、編寫測試代碼(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,以下:
五、打包
執行打包命令: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)
六、運行
前面默認打包生成的jar不可以直接運行, 由於帶有main方法的類信息不回添加到mainfest中,須要再配置插件
再從新執行 mvn clean install
回再生成一份新的帶有Main-Class信息的.jar文件,前面生成的被重命名爲original-hello-0.0.1-SNAPSHOT.jar
在項目根目錄中執行該jar文件
4、maven與其餘經常使用插件結合使用
上述中, 就有提到maven裏面配置junit插件, 用來完成單元測試, 實際上,maven項目很容易跟其餘插件結合起來使用
好比javadoc, 代碼覆蓋測量工具Cobertura等
一、javadoc配置以下:
配置javadoc後, 執行 mvn javadoc:javadoc 命令, 就會在..\target\site\apidocs目錄下生成 apidocs信息
二、Cobertura配置以下:
配置Cobertura後, 執行 mvn cobertura:cobertura 命令, 就會在..\target\site\cobertura目錄下,生成測試代碼覆蓋主代碼狀況信息。