Maven 安裝配置
-
解壓 apache-maven-3.6.1.rar 既安裝完成
-
配置環境變量 MAVEN_HOME 為安裝路徑的 bin 目錄
在 Path 下添加
%MAVEN_HOME%\bin
后確定關閉CMD 中輸入
mvn -version
檢驗 -
配置本地倉庫:修改
conf/setting.xml
中的 <localRepositoty> 為一個指定的目錄默認在 C盤,我這里修改為在 maven 解壓文件夾下新建的
mvn_repo
中 -
配置阿里雲私服:修改
conf/setting.xml
中的 <mirrors> 標簽,為其添加如下子標簽:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
以下是在項目中 pom.xml 文件中添加
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Maven 基本使用
Maven 常用命令
- complie:編譯
- clean:清理
- test:測試
- package:打包,注意文件夾命名最好沒用
&
之類字符,防止錯誤 - install:安裝
Maven 生命周期
- Maven 構建項目生命周期描述的是一次構建過程經歷經歷了多少個事件
- Maven 對項目構建的生命周期分為三套
- clean:清理工作
- default:核心工作,例如編譯,測試,打包,安裝等
- site:產生報告,發布站點等(不是很常用)
當我們執行 install
(安裝)命令時,它會先執行 compile
命令,再執行 test
命令,再執行 package
命令,最后執行 install
命令。
當我們執行 package
(打包)命令時,它會先執行 compile
命令,再執行 test
命令,最后執行 package
命令。
默認的生命周期也有對應的很多命令,其他的一般都不會使用,我們只關注常用的:

IDEA 使用 Maven
開發中我們肯定會在高級開發工具中使用Maven管理項目,而我們常用的高級開發工具是IDEA,所以接下來我們會講解Maven在IDEA中的使用。
IDEA 配置 Maven 環境
-
在 IDEA 中 File --> Settings --> 搜索 maven --> 設置 IDEA 使用本地安裝的 Maven,並修改配置文件路徑
Maven 坐標詳解
什么是坐標?
- Maven 中的坐標是資源的唯一標識
- 使用坐標來定義項目或引入項目中需要的依賴
Maven 坐標主要組成
- groupId:定義當前Maven項目隸屬組織名稱(通常是域名反寫,例如:com.itheima)
- artifactId:定義當前Maven項目名稱(通常是模塊名稱,例如 order-service、goods-service)
- version:定義當前項目版本號
如下圖就是使用坐標表示一個項目:
注意:
- 上面所說的資源可以是插件、依賴、當前項目。
- 我們的項目如果被其他的項目依賴時,也是需要坐標來引入的。
推薦安裝 Maven Helper 來方便選中項目右鍵進行 Maven 相關命令操作
依賴管理
使用坐標引入jar包
使用坐標引入jar包的步驟:
-
在項目的 pom.xml 中編寫 <dependencies> 標簽
-
在 <dependencies> 標簽中 使用 <dependency> 引入坐標
-
定義坐標的 groupId,artifactId,version
-
點擊刷新按鈕,使坐標生效
注意:
- 具體的坐標我們可以到如下網站進行搜索
- https://mvnrepository.com/
快捷方式導入jar包的坐標:
每次需要引入jar包,都去對應的網站進行搜索是比較麻煩的,接下來給大家介紹一種快捷引入坐標的方式
-
在 pom.xml 中 按 alt + insert,選擇 Dependency
-
在彈出的面板中搜索對應坐標,然后雙擊選中對應坐標
-
點擊刷新按鈕,使坐標生效
關於自動導入設置:
上面每次操作都需要點擊刷新按鈕,讓引入的坐標生效。當然我們也可以通過設置讓其自動完成
- 選擇 File --> Settings --> 在彈出的面板中找到 Build Tools --> 選擇 Any changes,點擊 ok 即可生效
依賴范圍
通過設置坐標的依賴范圍(scope),可以設置 對應jar包的作用范圍:編譯環境、測試環境、運行環境。
如下圖所示給 junit
依賴通過 scope
標簽指定依賴的作用范圍。 那么這個依賴就只能作用在測試環境,其他環境下不能使用。

那么 scope
都可以有哪些取值呢?
依賴范圍 | 編譯classpath | 測試classpath | 運行classpath | 例子 |
---|---|---|---|---|
compile | Y | Y | Y | logback |
test | - | Y | - | Junit |
provided | Y | Y | - | servlet-api |
runtime | - | Y | Y | jdbc驅動 |
system | Y | Y | - | 存儲在本地的jar包 |
- compile :作用於編譯環境、測試環境、運行環境。
- test : 作用於測試環境。典型的就是Junit坐標,以后使用Junit時,都會將scope指定為該值
- provided :作用於編譯環境、測試環境。我們后面會學習
servlet-api
,在使用它時,必須將scope
設置為該值,不然運行時就會報錯 - runtime : 作用於測試環境、運行環境。jdbc驅動一般將
scope
設置為該值,當然不設置也沒有任何問題
注意:
- 如果引入坐標不指定
scope
標簽時,默認就是 compile 值。以后大部分jar包都是使用默認值。