01. 初識Maven
1.1. 什麼是Maven
Maven是Apache旗下的一個開源專案,是一款用於管理和構建java專案的工具。
官網:https://maven.apache.org/
Apache 軟體基金會,成立於1999年7月,是目前世界上最大的最受歡迎的開源軟體基金會,也是一個專門為支援開源專案而生的非盈利性組織。
開源專案:https://www.apache.org/index.html#projects-list
1.2. Maven的作用
使用Maven能夠做什麼呢?
- 依賴管理
- 統一專案結構
- 專案構建
依賴管理:
- 方便快捷的管理專案依賴的資源(jar包),避免版本衝突問題
當使用maven進行專案依賴(jar包)管理,則很方便的可以解決這個問題。 我們只需要在maven專案的pom.xml檔案中,新增一段如下圖所示的配置即可實現。
統一專案結構 :
- 提供標準、統一的專案結構
在專案開發中,當你使用不同的開發工具 (如:Eclipse、Idea),建立專案工程時:
若我們建立的是一個maven工程,是可以幫我們自動生成統一、標準的專案目錄結構:
具體的統一結構如下:
目錄說明:
- src/main/java: java原始碼目錄
- src/main/resources: 配置檔案資訊
- src/test/java: 測試程式碼
- src/test/resources: 測試配置檔案資訊
專案構建 :
- maven提供了標準的、跨平臺(Linux、Windows、MacOS) 的自動化專案構建方式
如上圖所示我們開發了一套系統,程式碼需要進行編譯、測試、打包、釋出,這些操作如果需要反覆進行就顯得特別麻煩,而Maven提供了一套簡單的命令來完成專案構建。
綜上所述,可以得到一個結論:Maven是一款管理和構建java專案的工具
02.Maven概述
2.1 Maven介紹
Apache Maven是一個專案管理和構建工具,它基於專案物件模型(Project Object Model , 簡稱: POM)的概念,透過一小段描述資訊來管理專案的構建、報告和文件。
官網:https://maven.apache.org/
Maven的作用:
- 方便的依賴管理
- 統一的專案結構
- 標準的專案構建流程
2.2 Maven模型
- 專案物件模型 (Project Object Model)
- 依賴管理模型(Dependency)
- 構建生命週期/階段(Build lifecycle & phases)
1). 構建生命週期/階段(Build lifecycle & phases)
以上圖中紫色框起來的部分,就是用來完成標準化構建流程 。當我們需要編譯,Maven提供了一個編譯外掛供我們使用;當我們需要打包,Maven就提供了一個打包外掛供我們使用等。
2). 專案物件模型 (Project Object Model)
以上圖中紫色框起來的部分屬於專案物件模型,就是將我們自己的專案抽象成一個物件模型,有自己專屬的座標,如下圖所示是一個Maven專案:
座標,就是資源(jar包)的唯一標識,透過座標可以定位到所需資源(jar包)位置
3). 依賴管理模型(Dependency)
以上圖中紫色框起來的部分屬於依賴管理模型,是使用座標來描述當前專案依賴哪些第三方jar包
之前我們專案中需要jar包時,直接就把jar包複製到專案下的lib目錄,而現在書寫在pom.xml檔案中的座標又是怎麼能找到所要的jar包檔案的呢?
答案:Maven倉庫
2.3 Maven倉庫
倉庫:用於儲存資源,管理各種jar包
倉庫的本質就是一個目錄(資料夾),這個目錄被用來儲存開發中所有依賴(就是jar包)和外掛
Maven倉庫分為:
- 本地倉庫:自己計算機上的一個目錄(用來儲存jar包)
- 中央倉庫:由Maven團隊維護的全球唯一的。倉庫地址:https://repo1.maven.org/maven2/
- 遠端倉庫(私服):一般由公司團隊搭建的私有倉庫
當專案中使用座標引入對應依賴jar包後,首先會查詢本地倉庫中是否有對應的jar包
-
如果有,則在專案直接引用
-
如果沒有,則去中央倉庫中下載對應的jar包到本地倉庫
如果還可以搭建遠端倉庫(私服),將來jar包的查詢順序則變為: 本地倉庫 --> 遠端倉庫--> 中央倉庫
2.4 Maven安裝
認識了Maven後,我們就要開始使用Maven了,那麼首先我們要進行Maven的下載與安裝。
2.4.1 下載
下載地址:https://maven.apache.org/download.cgi
2.4.2 安裝步驟
Maven安裝配置步驟:
- 解壓安裝
- 配置倉庫
- 配置Maven環境變數
1、解壓 apache-maven-3.6.1-bin.zip(解壓即安裝)
建議解壓到沒有中文、特殊字元的路徑下。如解壓到
E:\develop
下。
解壓縮後的目錄結構如下:
- bin目錄 : 存放的是可執行命令。(mvn 命令重點關注)
- conf目錄 :存放Maven的配置檔案。(settings.xml配置檔案後期需要修改)
- lib目錄 :存放Maven依賴的jar包。(Maven也是使用java開發的,所以它也依賴其他的jar包)
2、配置本地倉庫
2.1、在自己計算機上新一個目錄(本地倉庫,用來儲存jar包)
2.2、進入到conf目錄下修改settings.xml配置檔案
1). 使用超級記事本軟體,開啟settings.xml檔案,定位到53行
2). 複製
3). 複製之前新建的用來儲存jar包的路徑,替換掉
3、配置阿里雲私服
由於中央倉庫在國外,所以下載jar包速度可能比較慢,而阿里公司提供了一個遠端倉庫,裡面基本也都有開源專案的jar包。
進入到conf目錄下修改settings.xml配置檔案:
1). 使用超級記事本軟體,開啟settings.xml檔案,定位到160行左右
2). 在
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
注意配置的位置,在
注: 只可配置一個
(另一個要註釋!) ,不然兩個可能發生衝突,導致jar包無法下載!!!!!!!
4、配置環境變數
Maven環境變數的配置類似於JDK環境變數配置一樣
1). 在系統變數處新建一個變數MAVEN_HOME
- MAVEN_HOME環境變數的值,設定為maven的解壓安裝目錄
2). 在Path中進行配置
- PATH環境變數的值,設定為:%MAVEN_HOME%\bin
3). 開啟CMD命令提示符進行驗證,出現如圖所示表示安裝成功
mvn -v