項目管理工具--maven(1)

maven

概念

項目管理工具,它包含了一個項目對象模 型 (POM:Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管 理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標 (goal)的邏輯

用途

1、管理jar包

2、作爲集成工具

3、方便測試

4、方便打包

依賴管理

maven工程對jar包的管理過程。

maven 工程中不直接將 jar 包導入到工程中,而是通過在 pom.xml 文件中添加所需 jar 包的座標,這樣就很好的避免了 jar 直接引入進來,在需要用到 jar 包的時候,只要查找 pom.xml 文 件,再通過 pom.xml 文件中的座標,到一個專門用於”存放 jar 包的倉庫”(maven 倉庫)中根據座標從 而找到這些 jar 包,再把這些 jar 包拿去運行。

在這裏插入圖片描述

maven倉庫

maven索引

一鍵構建

整個構建過程,使用 maven 一個命令可以輕鬆完成整個工作。

tomcat插件

遠程tomcat 開啓的情況下,使用 tomcat內部manager 程序,進行項目熱部署

maven倉庫

在這裏插入圖片描述

訪問順序

在這裏插入圖片描述

本地倉庫

用來存儲從遠程倉庫或中央倉庫下載的插件和 jar 包,項目使用一些插件或 jar 包, 優先從本地倉庫查找
默認本地倉庫位置在user.dir/.m2/repository{user.dir}/.m2/repository,{user.dir}表示windows 用戶目錄。

遠程倉庫(私服)

如果本地需要插件或者 jar 包,本地倉庫沒有,默認去遠程倉庫下載。
遠程倉庫可以在互聯網內也可以在局域網內

中央倉庫

maven 軟件中內置一個遠程倉庫地址 http://repo1.maven.org/maven2 ,它是中 央倉庫,服務於整個互聯網
它是由 Maven 團隊自己維護,裏面存儲了非常全的 jar 包,它包 含了世界上大部分流行的開源項目構件。

目錄結構

代碼結構

核心代碼部分:jar包

配置文件部分

測試代碼部分

測試配置文件

maven項目標準目錄結構

src/main/java 目錄 :核心代碼

src/main/resources目錄:配置文件

src/test/java目錄:測試代碼

src/test/resources目錄:測試配置文件

src/main/webapp目錄:web工程,界面資源,js,css,圖片等

常用命令

mvn compile

compile 是 maven 工程的編譯命令,作用是將 src/main/java 下的文件編譯爲 class 文件輸出到 target 目錄下

mvn test

test 是 maven 工程的測試命令 mvn test,會執行src/test/java下的單元測試類。

mvn clean

clean 是 maven 工程的清理命令,執行 clean 會刪除 target 目錄及內容。

mvn package

package 是 maven 工程的打包命令,對於 java 工程執行 package 打成 jar 包,對於web 工程打成war 包。

mvn install

install 是 maven 工程的安裝命令,執行 install 將 maven 打成 jar 包或 war 包發佈到本地倉庫

生命週期

清理生命週期(Clean Lifecycle ):
清除 clean(清除項目編譯信息)

默認生命週期(Default Lifecycle ):
編譯 compile
測試 test
打包 package
安裝 install
發佈 deploy(需要先做配置)

後面命令執行時會將前面的命令執行一次

站點生命週期(Site Lifecycle ):

生成項目報告,站點,發佈站點。

項目模型

Maven 包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命週期階段 (phase)中插件(plugin)目標(goal)的邏輯
在這裏插入圖片描述

項目對象模型

一個 maven 工程都有一個 pom.xml 文件,通過 pom.xml 文件定義項目的座標、項目依賴、項目信息、 插件目標等。

1)項目自身信息
2)項目運行依賴的jar包信息
3)項目運行環境信息,例如jdk,tomcat信息

依賴管理系統

通過 maven 的依賴管理對項目所依賴的 jar 包進行統一管理
在這裏插入圖片描述

<!-- 依賴關係 -->  
	<dependencies>   
	<!-- 此項目運行使用 junit,所以此項目依賴 junit -->   
		<dependency>    
		<!-- junit 的項目名稱 --> 
		   <groupId>junit</groupId>    
		   <!-- junit 的模塊名稱 -->
		   <artifactId>junit</artifactId>    
		   <!-- junit 版本 -->    
		   <version>4.9</version>    
		   <!-- 依賴範圍:單元測試時使用 junit -->    
		   <scope>test</scope>   
    </dependency> 

生命週期(Project Lifecycle)

使用 maven 完成項目的構建,項目構建包括:清理、編譯、測試、部署等過程,maven 將這些 過程規範爲一個生命週期
在這裏插入圖片描述

插件(plugin)目標(goal)

maven 管理項目生命週期過程都是基於插件完成的。

標準集合

maven將整個項目管理過程定義一組標準,比如:通過 maven 構建工程有標準的目錄結構,有 標準的生命週期階段、依賴管理有標準的座標定義等。

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