Maven項目管理工具

什麼是maven

Maven是一個跨平臺的項目管理工具,主要用於基於java平臺的項目構建,依賴管理。html

 

如圖爲項目構建的過程。java

 

解決的項目的問題:web

一、 若是有好幾個項目,這好幾個項目中,須要用到不少相同的jar包,spring

能不能只創建一個倉庫來解決這個問題?apache

           2、測試方法能不能所有運行呢?eclipse

   3、怎麼樣把一個模塊的功能放入到倉庫中maven

2 Maven 的安裝與配置

2.1 Maven的安裝

2.1.1 Jdk的狀況

Jdk必須1.6以上的版本ide

2.1.2 從官網下載maven

http://maven.apache.org/官網上下載最新版本的maven工具

2.1.3 設定path路徑

把下載下來的maven解壓縮,而後有一個bin文件夾,這是一個bin的文件夾的目錄post

F:\work\course\maven\maven\bin

把該目錄追加到環境變量的path中。

2.1.4 利用命令行檢查是否成功

 

 

有這個圖,說明maven安裝成功了。

 

2.2 建庫

2.2.1 先打開路徑

C:\Users\Think\.m2

2.2.2 settings.xml文件複製到上述的路徑中

F:\work\course\maven\apache-maven-3.0.5-bin\apache-maven-3.0.5\conf

有一個settings.xml文件,複製到C:\Users\Think\.m2

2.2.3 修改settings.xml文件

<localRepository>F:/work/course/maven/mavenRepository/</localRepository>

指定倉庫的路徑

 

在這裏mavenRepository就是倉庫的路徑

2.3 Maven的配置

 

 

說明:

   bin中存放可執行的二進制文件

   conf存放settings.xml文件

   lib  運行maven所依賴的jar

2.4 maven的約定

src/main/java      存放項目的java文件

src/main/resources  存放項目的資源文件,如springhibernate的配置文件

src/test/java       存放全部的測試的java文件

src/test/resources   存放測試用的資源文件

target            項目輸出位置

pom.xml  文件

 

 

 

 

 

3 maven 項目

3.1 hello項目

3.1.1 myeclipse創建一個項目Hello

 

 

3.1.2 建立一個包cn.itcast.maven,並在該包下建立一個類

 

 

3.1.3 編寫Hello

 

 

3.1.4 src/test/java中建立一個包cn.itcast.maven,建立一個測試類HelloTest

 

 

3.1.5 編寫測試類

 

 

3.1.6 編輯pom.xml文件

 

 

 

說明:

project:表示一個工程

modelVersion:爲版本號

3.1.7 maven命令編譯項目(mvn compile)

 

在命令行出現這樣的形式,說明編譯OK了。

3.1.8 target文件夾的變化

 

 

能夠看到編譯後的文件所有放入到了target裏。

3.1.9 clean

執行命令mvn clean

 

說明執行成功了。

 

能夠看到target的目錄沒有了。

3.1.10 test

執行mvn test命令

 

說明執行成功了,而且運行了一個類,再次看target的結構

 

 說明:

      target/classes

           存放編譯後的類

      target/test-classes

           存放編譯後的測試類

      target/surefire-reports

           存放測試報告

能夠看出,只要進行測試,清理和編譯能夠自動執行了。

3.1.11 package

執行mvn package

 

這個界面說明打包成功了。

 

說明:

target/classes

             編譯後的類的路徑

        target/test-classes

             編譯後的測試類的路徑

        target/surefire-reports

             測試報告

        target/maven-archiver

             執行package的歸檔

        Hello-0.0.1-SNAPSHOT.jar

 執行完package命令後打成的jar

3.2 Hellofriend項目

3.2.1 創建HelloFriend項目工程

 

3.2.2 編寫pom.xml文件

 

3.2.3 執行mvn compile命令

執行這個命令的時候會出錯,由於HelloFriend項目是創建在Hello項目基礎之上的,可是如今工程中沒有引入Hello.java這個類。因此會出錯。

3.2.4 執行mvn clean install命令

一、 打開命令行

二、 把當前路徑調節到Hello工程的根目錄

三、 執行mvn clean install命令,把Hello整個工程放入到倉庫中

 

若是執行成功,則會在倉庫中看到。

 

在倉庫中的位置。

3.2.5 執行mvn package命令打包HelloFriend工程

 

 

說明成功了。

 

能夠看到成功之後,在target目錄下多了一個jar

jar包爲當前工程的jar包。

3.2.6 創建cn.itcast.maven包及HelloFriend

 

3.2.7 編輯HelloFriend

 

 

3.2.8 創建cn.itcast.maven包和測試類HelloFriendTest

 

 

3.2.9 編輯HelloFriendTest

 

 

3.2.10 執行mvn package命令

 

 

 

上圖中的」say hello」就是輸出的結果。

4 maven 的核心概念

4.1 項目對象模型

 

 

說明:

maven根據pom.xml文件,把它轉化成項目對象模型(POM),這個時候要解析依賴關係,而後去相對應的maven庫中查找到依賴的jar包。

cleancompiletestpackage等階段都有相應的Plug-in來作這些事情。

而這些plug-in會產生一些中間產物。

4.2 插件的位置

maven解壓後的位置F:\work\course\maven\maven有一個bin文件夾,裏面有

一個文件m2.config文件

set maven.home default ${user.home}/m2,其中該路徑指明瞭倉庫的存儲位置。

 

 

其中settings.xml文件中

 

 

這個說明了倉庫中的位置。

 

 

這裏的插件就是執行maven的各類命令所須要的插件。

4.3 maven座標

4.3.1 maven座標的主要組成

groupId:定義當前maven項目屬於哪一個項目

artifactId:定義實際項目中的某一個模塊

version:定義當前項目的當前版本

packaging:定義當前項目的打包方式

 

根據這些座標,在maven庫中能夠找到惟一的jar

4.4 依賴管理

4.5 繼承管理

 

 

建立一個項目ParentJunit

 

 

新建一個項目:

 

編輯pom.xml文件

 

說明:只須要繼承ParentJunit,因此junit就被引入到HelloJunit中了

4.6 倉庫管理

能夠根據maven座標定義每個jar包在倉庫中的存儲位置。

大體爲:groupId/artifactId/version/artifactId-version.packaging

4.6.1 倉庫的分類

本地倉庫

~/.m2/repository/

每個用戶也能夠擁有一個本地倉庫

遠程倉庫

中央倉庫:Maven默認的遠程倉庫

http://repo1.maven.org/maven2

私服:是一種特殊的遠程倉庫,它是架設在局域網內的倉庫

鏡像:用來替代中央倉庫,速度通常比中央倉庫快

 

5 maven myeclipse 中的應用

5.1 環境配置

 

若是所示,myeclipse自帶maven,從上圖看以看到Maven JDK是能夠配置的,這裏用了jdk1.6

 

  從上圖能夠看出,咱們能夠利用myeclipse自帶的maven,也可使用本身的maven

上圖應用的就是本身的maven

 

  從最下面能夠看出,這是settings.xml文件的路徑。

 

這幅圖說明了用戶的settings.xml文件的位置和用戶的倉庫的位置。

 

這是最基本的環境的配置。

5.2 settings.xml文件

5.2.1 倉庫的路徑

 

 

經過配置localRepository的值能夠改變倉庫的路徑。

5.2.2 配置私服的路徑

 

5.2.3 直接鏈接互聯網

若是不想鏈接私服,能夠直接鏈接互聯網。只須要把鏈接私服的全部的路徑去掉便可。

5.3 建立maven工程

5.3.1 建立java project

 

選擇Maven Project

 

選擇快速建立maven-archetype-quickstart

 

填寫group IDArtiface IdVersionPackage屬性

而後點擊finish就能夠了。

 

5.3.2 建立web project

 

新建立一個web project

 

 

添加maven support便可。

相關文章
相關標籤/搜索