Maven的概念模型

maven包含了一個項目對象模型(Project Object Mobel)、一組標準集合、一個項目生命週期(Project Lifecycle)、一個依賴管理系統(Dependency Management System)以及用來運行定義在生命週期階段(phase)中插件(plugin)目標(goal)的邏輯。
下圖就是maven的概念模型圖。
在這裏插入圖片描述

項目對象模型(Project Object Mobel)

每個maven工程中都有一個pom.xml文件(核心配置文件),通過pom.xml文件可以定義項目的座標、項目依賴、項目信息以及插件目標等。例如,有下面這樣一個pom.xml文件,你可以清楚地看到該文件裏面定義了工程所依賴的jar包、本工程的座標以及打包運行方式等。
在這裏插入圖片描述

依賴管理系統(Dependency Management System)

maven的基礎核心,通過maven的依賴管理對項目所依賴的jar包進行統一規範的管理。例如,項目依賴Struts2.3.24,通過在pom.xml文件中定義其依賴即可將Struts2的jar包自動加入到工程中,如下所示便是Struts2.3.24的依賴定義。

<dependency>
    <groundId>org.apache.struts</groundId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.24</version>
</dependency>

項目生命週期(Project Lifecycle)

使用maven可以完成項目的構建,項目構建包括:清理、編譯、測試、部署等過程,maven將這些過程規範爲一個生命週期,如下圖所示便是項目生命週期的各個階段。
在這裏插入圖片描述
實際上,一個軟件開發人員每天都在完成項目的生命週期:清理、編譯、測試、部署等,有的手工完成,有的通過Ant(也是一個項目構建工具)腳本自動完成。而且,從上圖可以看出,maven就是要保證一致的項目構建流程,它通過執行一些簡單命令即可實現上邊生命週期的各個過程,比如執行mvn compile命令可以完成編譯的過程,執行mvn clean命令可以完成清理的過程。

一組標準集合

maven爲整個項目管理過程定義了一組標準,比如,通過maven構建工程有標準的目錄結構,有標準的生命週期階段,依賴管理有標準的座標定義等。這樣一來,一個maven工程便有了自己標準的工程目錄結構與標準的座標定義了。

插件目標

maven管理項目生命週期過程都是基於插件來完成的。也可以說maven中的所有功能都是使用插件來實現的。

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