Maven 是 Apache 軟件基金會的一個開源項目,是一個優秀的項目構建工具,它用來幫助開發者管理項目中的 jar,以及 jar 之間的依賴關系、完成項目的編譯、測試、打包和發布等工作。
Mavende優點
1、原來的項目中需要的jar包必須手動“復制”、”粘貼” 到WEB-INF/lib 項目下,而借Maven,可以將jar包僅僅保存在“倉庫”中,有需要使用的工程只需要“引用”這個文件,并不需要重復復制到工程中。文章源自四五設計網-http://www.133122.cn/40321.html
2、原來的項目中所需要的jar包都是提前下載好的,而Maven在聯網狀態下會自動下載所需要的jar包。首先在本地倉庫中找,找不到就在網上進行下載。文章源自四五設計網-http://www.133122.cn/40321.html
3、原來的項目中一個jar包所依賴的其他jar包必須手動導進來,而Maven會自動將被依賴的jar包導進來。文章源自四五設計網-http://www.133122.cn/40321.html
4、原來的項目一個項目就是一個工程,而借助Maven可以將一個項目拆分成多個工程。文章源自四五設計網-http://www.133122.cn/40321.html
環境搭建&安裝 下載maven服務器,
1、maven 官網文章源自四五設計網-http://www.133122.cn/40321.html
2、點擊Download下載版本,如下圖:文章源自四五設計網-http://www.133122.cn/40321.html
文章源自四五設計網-http://www.133122.cn/40321.html
3、將下載好的文件進行解壓。文章源自四五設計網-http://www.133122.cn/40321.html
環境的配置
注意點:Mac系統環境變量配置文件支持多個,這里僅以 ~/.bash_profile 為例。JDK 必須是1.7以上。文章源自四五設計網-http://www.133122.cn/40321.html
配置路徑文件,在命令行終端輸入一下命令:文章源自四五設計網-http://www.133122.cn/40321.html
1 | open ~/.bash_profile |
需要將 maven 添加到系統環境變量里:
1 2 3 | #maven export MAVEN_HOME=/maven根路徑 export PATH=$MAVEN_HOME/bin: $PATH |
讓系統環境變量強制生效,在命令行終端輸入一下命令:
1 | source ~/.bash_profile |
差看maven 是否配置生效,在命令行終端輸入一下命令:
1 | mvn -version |
配置maven本地倉庫
需要在 maven 文件中找到 conf 文件夾下的 settings.xml 文件進行修改,如下圖:
為了提高下載速度需要配置阿里云倉庫,如下圖:
1 2 3 4 5 6 7 | <!-- 配置阿里云鏡像倉庫 --> < mirror > ?? < id >alimaven</ id > ?? < name >aliyun maven</ name > ?? < mirrorOf >central</ mirrorOf > </ mirror > |
在idea中配置maven,如下圖:
maven工程的創建
創建一個新的工程new Project,如下圖:
創建好的工程,如下圖:
七、maven工程pom.xml配置
進入maven?倉庫官網,如下圖:
搜索自己想要的jar包,如下圖:
進入到jar詳情
進入jar版本詳情:
在 Pom.xml 文件配置 jar 包信息(坐標),使用 maven 自動下載 jar 包到本地倉庫中,如下圖:
下載好的jar,如下圖:
Maven 坐標
Maven 坐標一套規則,它規定:世界上任何一個構件都可以使用 Maven 坐標并作為其唯一標識,Maven 坐標包括 groupId、artifactId、version、packaging 等元素,只要用戶提供了正確的坐標元素,Maven 就能找到對應的構件。
任何一個構件都必須明確定義自己的坐標,這是 Maven 的強制要求,任何構件都不能例外。我們在開發 Maven 項目時,也需要為其定義合適的坐標,只有定義了坐標,其他項目才能引用該項目生成的構件。
Maven 坐標主要由以下元素組成:
- groupId: 項目組 ID,定義當前 Maven 項目隸屬的組織或公司,通常是唯一的。它的取值一般是項目所屬公司或組織的網址或 URL 的反寫,例如 con.xiaoqiang.www。
- artifactId: 項目 ID,通常是項目的名稱。
- version:版本。
- packaging:項目的打包方式,默認值為 jar。
以上 4 個元素中 groupId、artifactId 和 version 是必須定義的,packaging 是可選的。
Maven 倉庫
Maven 倉庫可以分為 2 個大類:
- 本地倉庫
- 遠程倉庫
當 Maven 根據坐標尋找構件時,它會首先查看本地倉庫,若本地倉庫存在此構件,則直接使用;若本地倉庫不存在此構件,Maven 就會去遠程倉庫查找,若發現所需的構件后,則下載到本地倉庫使用。如果本地倉庫和遠程倉庫都沒有所需的構件,則 Maven 就會報錯。
Maven POM
POM(Project Object Model,項目對象模型)是 Maven 的基本組件,它是以 xml 文件的形式存放在項目的根目錄下,名稱為 pom.xml。
POM 中定義了項目的基本信息,用于描述項目如何構建、聲明項目依賴等等。
當 Maven 執行一個任務時,它會先查找當前項目的 POM 文件,讀取所需的配置信息,然后執行任務。在 POM 中可以設置如下配置:
- 項目依賴
- 插件
- 目標
- 構建時的配置文件
- 版本
- 開發者
- 郵件列表
在創建 POM 之前,首先要確定工程組(groupId),及其名稱(artifactId)和版本,在倉庫中這些屬性是項目的唯一標識。一旦在 pom.xml 文件中配置了所依賴的 jar,Maven 會自動從構件倉庫中下載相應的構件。


評論