Maven入門 筆記目錄:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 視頻教程(P42~P46) Maven是專門用於管理和構建Java項目的工具,它的主要功能有: 提供了一套標準化的項目結構 提供了一套標準化的構建流程(編譯,測試,打包 ...
Maven入門
筆記目錄:(https://www.cnblogs.com/wenjie2000/p/16378441.html)
Maven是專門用於管理和構建Java項目的工具,它的主要功能有:
提供了一套標準化的項目結構
提供了一套標準化的構建流程(編譯,測試,打包,發佈…...)
提供了一套依賴管理機制
-
標準化的項目結構
Maven提供了一套標準化的項目結構,所有IDE(eclipse,idea,myeclipse這類軟體)使用Maven構建的項目結構完全一樣,所有IDE創建的Maven項目可以通用
-
標準化的構建流程
-
依賴管理
依賴管理其實就是管理你項目所依賴的第三方資源(jar包、插件...)
Maven簡介
- Apache Maven是一個項目管理和構建工具,它基於項目對象模型(POM)的概念,通過一小段描述信息來管理項目的構建、報告和文檔
- 官網: http://maven.apache.org/
Maven模型:
-
倉庫分類:
本地倉庫:自己電腦上的一個目錄
中央倉庫:由Maven團隊維護的全球唯一的倉庫 (地址: https://repo1.maven.org/maven2/)
遠程倉庫(私服):一般由公司團隊搭建的私有倉庫(國內由於網路原因,一般使用一些企業搭建的開放的私服)
-
當項目中使用坐標引入對應依賴jar包後,首先會查找本地倉庫中是否有對應的jar包:
如果有,則在項目直接引用;
如果沒有,則去中央倉庫中下載對應的jar包到本地倉庫。
-
還可以搭建遠程倉庫,將來jar包的查找順序則變為:
本地倉庫→遠程倉庫→中央倉庫(本地倉庫會在遠程倉庫中找jar包。如果遠程倉庫中沒有,遠程倉庫會到中央倉庫中去下載該jar包)
Maven安裝配置
安裝過程比較簡單。考慮到看這篇博客的人曾經安裝過jdk和mysql,安裝過程類同理。這裡就只是粗略描述一下,就不放操作截圖了。如果不清楚可自行百度。
下載地址(根據自己情況選擇版本):https://archive.apache.org/dist/maven/maven-3/
-
新建系統變數MAVEN_HOME(bin文件夾所在目錄,例如:D:\apache-maven-3.6.3)
-
在Path中新建環境變數%MAVEN_HOME%\bin
-
在cmd中輸入mvn -version,如果出現版本信息則環境變數配置成功
-
配置本地倉庫:修改conf/settings.xml中的<localRepository>為一個指定目錄 (可根據自己喜好設置倉庫位置)
<localRepository>D:\maven-repository</localRepository>
-
配置阿裡雲私服:修改conf/settings.xml中的<mirrors>標簽,為其添加如下子標簽:
<!--配置阿裡雲私服--> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
Maven基本使用
Maven常用命令
如果要手動執行,需要在pom.xml文件夾下,在地址欄輸入cmd,回車。
以下命令都需要在前面加“mvn”,例如:mvn compile 為執行編譯的命令
- compile:編譯 -> 生成class文件,位於target文件夾
- clean:清理 -> 刪除target文件夾
- package:打包 -> 將項目打包為文件,文件位於target文件夾下
- test:測試 -> 執行test\java文件夾中的代碼
- install:安裝 -> 把打包好的文件存放到本地倉庫
Maven生命周期
-
Maven構建項目生命周期描述的是一次構建過程經歷經歷了多少個事件
-
Maven對項目構建的生命周期劃分為3套
clean:清理工作
default:核心工作,例如編譯,測試,打包,安裝等
site(不常用):產生報告,發佈站點等
同一生命周期內,執行後邊的命令,前邊的所有命令會自動執行(例如執行install,maven會自動執行complie、test和package,否則不能執行install)
IDEA配置Maven
IDEA配置Maven環境
-
選擇IDEA中 File --> Settings
-
搜索 maven
-
設置IDEA使用本地安裝的Maven,並修改配置文件路徑(路徑根據自己實際情況,我的路徑僅供參考)(修改配置文件和本地倉庫目錄需要選中Override)
Maven坐標詳解
-
什麼是坐標?
Maven 中的坐標是資源的唯一標識
使用坐標來定義項目或引入項目中需要的依賴
-
Maven 坐標主要組成
groupld:定義當前Maven項目隸屬組織名稱(通常是功能變數名稱反寫,例如: com.itheima)
artifactld:定義當前Maven項目名稱(通常是模塊名稱,例如order-service、goods-service)
version:定義當前項目版本號
<groupId>com.example</groupId> <artifactId>javaweb01</artifactId> <version>1.0-SNAPSHOT</version>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependency>
IDEA創建Maven項目
IDEA界面中:左上角 File(文件)-->New(新建)-->Project...(項目)
選擇maven
各種信息根據自己情況修改
創建成功
IDEA導入Maven項目
點擊右側Maven,點擊+號
找到一個maven項目的pom.xml文件,再點擊OK
左側就出現了剛剛導入的maven項目
配置Maven-Helper插件
IDEA能夠執很方便地執行maven的常用命令,位置如下圖所示(直接點擊就能執行):
Maven-Helper這個插件能夠使用戶更加方便的執行maven命令。相較於IDEA自帶的,它還能進行Debug。(看自己喜好,不是必須安裝)
Maven-Helper安裝步驟:
- 選擇IDEA中 File --> Settings
- 選擇 Plugins
- 搜索 Maven,選擇第一個Maven Helper,點擊Install安裝,彈出面板中點擊Accept
- 重啟IDEA
依賴管理
使用坐標導入jar包
-
在pom.xml中編寫<dependencies>標簽
-
在<dependencies>標簽中使用<dependency>引入坐標
-
定義坐標的groupld,artifactld,version
其中的坐標信息有相關的網站可供查找:https://mvnrepository.com/
此處以MySQL5.7的驅動為例:
搜索mysql,選擇第一個
選擇自己需要的版本(一般是找一個用的頻率比較高的)
其中就有需要的坐標信息(如果版本不相容,只需要手動修改版本號)
就可以將坐標信息複製到pom.xml文件中
-
點擊刷新按鈕,使坐標生效
如果出現以下出現紅色,是因為本地倉庫中沒有這個包,點擊右上角的“m”就會使該配置文件生效,會自動下載需要的包(也可以設置不需要點擊自動生效,方法自行百度。)
如果本地倉庫已經下載了該jar包可以使用 Alt+Insert,然後點擊Dependency
然後就可以搜索本地的包進行添加。點擊Add就能幫你寫好
依賴範圍
-
通過設置坐標的依賴範圍(scope),可以設置對應jar包的作用範圍:編譯環境(src/main/java/)、測試環境(src/test/java/)、運行環境(最終使用時)