maven(一)初步搭建,項目結構


一、環境准備

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目錄下,生成測試代碼覆蓋主代碼情況信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM