maven詳講

maven課件
1 什麼是maven
Maven是一個跨平臺的項目管理工具,主要用於基於java平臺的項目構建,依賴管理。

這裏寫圖片描述
如圖爲項目構建的過程。

解決的項目的問題:
1、 如果有好幾個項目,這好幾個項目中,需要用到很多相同的jar包,
能不能只建立一個倉庫來解決這個問題?
2、測試方法能不能全部運行呢?
3、怎麼樣把一個模塊的功能放入到倉庫中
2 Maven的安裝與配置
2.1 Maven的安裝
2.1.1 Jdk的情況
Jdk必須1.6以上的版本
2.1.2 從官網下載maven
http://maven.apache.org/官網上下載最新版本的maven
2.1.3 設定path路徑
把下載下來的maven解壓縮,然後有一個bin文件夾,這是一個bin的文件夾的目錄
F:\work\course\maven\maven\bin
把該目錄追加到環境變量的path中。
2.1.4 利用命令行檢查是否成功
用mvn -v查看是否成功
這裏寫圖片描述
有這個圖,說明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文件
F:/work/course/maven/mavenRepository/
指定倉庫的路徑

在這裏mavenRepository就是倉庫的路徑
2.3 Maven的配置
這裏寫圖片描述
說明:
bin中存放可執行的二進制文件
conf存放settings.xml文件
lib 運行maven所依賴的jar包
2.4 maven的約定
src/main/java 存放項目的java文件
src/main/resources 存放項目的資源文件,如spring,hibernate的配置文件
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命令
1、 打開命令行
2、 把當前路徑調節到Hello工程的根目錄
3、 執行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包。
在clean,compile,test,package等階段都有相應的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 ID,Artiface Id,Version,Package屬性
然後點擊finish就可以了。

5.3.2 創建web project
這裏寫圖片描述

新創建一個web project
這裏寫圖片描述

添加maven support即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章