【Maven】Maven概述

hudad發表於2024-06-16

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能夠做什麼呢?

  1. 依賴管理
  2. 統一專案結構
  3. 專案構建

依賴管理

  • 方便快捷的管理專案依賴的資源(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的作用:

  1. 方便的依賴管理
  2. 統一的專案結構
  3. 標準的專案構建流程

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安裝配置步驟:

  1. 解壓安裝
  2. 配置倉庫
  3. 配置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). 複製標籤,貼上到註釋的外面(55行)

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

相關文章