專案管理構建工具——Maven(基礎篇)
在前面的內容中我們學習了JDBC并且接觸到了jar包概念
在后面我們的實際開發中會接觸到很多jar包,jar包的匯入需要到互聯網上進行就會導致操作繁瑣
Maven在解決了jar包匯入繁雜問題的同時,也提供了一套通用的管理和構建Java專案的一系列操作
Maven簡介
Apache Maven是一個專案管理和構建工具,
它是基于專案物件模型(POM)的概念,通過一小段描述資訊來管理專案的構建,報告和檔案,
簡單來說:Maven是專門用來管理和構建Java專案的工具
Maven的主要功能
- 提供了一套標準化的專案結構

Maven提供了一套標準化的專案結構,所有IDE使用Maven構建的專案結構完全相同,所有IDE創建的Maven專案都可以通用
- 提供了一套標準化的構建流程(編譯->測驗->打包->發布)

Maven提供了一套簡單的命令來完成專案構建
- 提供了一套依賴管理機制
原有流程如圖:
Maven流程如圖:

依賴管理其實就是管理你專案所依賴的第三方資源(jar包,插件)
Maven模型與介紹
具體模型如下:

Maven模型相關介紹:
- 我們使用各類插件來進行生命周期的構建
- 專案物件模型POM類似于我們的專案本體
- pom.xml是我們的POM使用指南,我們從pom.xml獲得相關指令并進行操作
- 依賴管理模型Dependency主要負責jar包的匯入
三種倉庫介紹:
Maven倉庫分為三種:本地倉庫,遠程倉庫(私服),中央倉庫,
-
本地倉庫:
自己計算機上的倉庫,用來存盤已經使用過的jar包
-
遠程倉庫:
常常屬于團隊創建的倉庫,屬于公司財產
-
中央倉庫:
由Maven團隊維護的私有倉庫
當我們需要引入jar包時:
-
引入順序:本地倉庫 -> 遠程倉庫 -> 中央倉庫
-
當我們前面的倉庫無法滿足,就向后面倉庫進行查詢,并且在找到之后,自動復制給前面倉庫
Maven安裝與配置
Maven安裝流程如下:
-
官網下載Maven
官網地址:Maven – Welcome to Apache Maven
-
配置環境
? 在電腦高級設定中:
? 系統變數配置:MAVEN_HOME 地址
? PATH:%MAVEN_HOME%\bin
- 檢查安裝是否成功
? 在cmd中進行檢測:mvn -version
? 如果有顯示內容,即為成功安裝Maven
Maven配置流程如下:
- 在Maven的下載地址中找到conf中的setting.xml并打開:
- 本地倉庫設定:
找到如下注釋:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
在后面加上:
<localRepository> 本地倉庫地址 </localRepository>
- 阿里云下載路徑設定:
找到如下注釋:
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
</mirrors>
在內部寫入:
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url> 阿里云下載地址(這里可能會更改,上網搜索即可) </url>
</mirror>
Maven基本使用
Maven的基本使用只包含五種:
- compile:編譯
- clean:清理
- test:測驗
- package:打包
- install:安裝
我們常常在IDEA中使用,實際上cmd中也可以使用,但是不常用,所以這里不做解釋,我們會在后續IDEA中進行操作
Maven生命周期
Maven生命周期概念:
- 指一次構建程序經理了多少事件
Maven生命周期大致分為三套:
- clean:清理作業

- default:核心作業(編譯,測驗,打包,安裝等)

- site:產生報告,發布站點等

同一生命周期內,執行后面的命令,前面的所有命令都會自動執行!
IDEA配置并使用Maven
首先我們需要在IDEA中配置Maven環境:
- 選擇IDEA的File中的Setting
- 搜索Maven
- 設定IDEA使用本地安裝的Maven,并且修改組態檔路徑
然后我們介紹一下IDEA創建Maven專案:
- 創建模塊,選擇Maven
- 填寫模塊名稱,坐標資訊,點擊finish,即創建完成
最后我們了解一下匯入Maven專案:
- 在我們的編程頁面(Java程式)點擊右側Maven面板,點擊+號
- 選中對應的pom.xml檔案,雙擊即可
- 如果沒有Maven面板,在 View->Appearance->Tool Window Bars 中進行調出
Maven坐標
我們在創建了IDEA專案之后,我們會得到一個pom.xml檔案
在里面我們會看到如下的一些代碼:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--
請注意這部分!!!!
這部分就屬于Maven的坐標
-->
<groupId>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<!-- 這部分用來匯入新的jar包 -->
<!-- dependencies屬于jar包匯入的整體包含部分 -->
<dependencies>
<!-- dependency屬于單個jar包匯入的代碼 -->
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
</dependencies>
</project>
坐標定義:
- Maven坐標是資源的唯一標識
- 使用坐標來定義專案或引入專案中需要的依賴
坐標主要組成成分:
-
groupId:定義當前Maven專案隸屬組織名稱(通常是域名反寫,例如com.tengxun)
-
artifactld:定義當前Maven專案名稱(通常是模塊名稱)
-
version:定義當前專案版本號
依賴管理
依賴管理就是在pom.xml中的dependencies部分匯入jar包
具體步驟如下:
- 在pom.xml中撰寫dependencies標簽
- 在dependencies標簽中,使用dependency引入坐標
- 定義坐標的groupId,artifactId,version
- 點擊重繪按鈕,使坐標生效
快捷鍵:Alt + Insert,選擇Dependency,并選擇相對應坐標即可
依賴范圍
依賴管理的dependency中的屬性不僅僅包括groupId,artifactId,version
還包含scope屬性,用于控制jar包的作用范圍:編譯環境,測驗環境,運行環境
我們通過表格的形式進行介紹:
| 依賴范圍 | 編譯classpath | 測驗classpath | 運行classpath | 例子 |
|---|---|---|---|---|
| compile | Y | Y | Y | logback |
| test | - | Y | - | Junit |
| provided | Y | Y | - | servlet-api |
| runtime | - | Y | Y | jdbc驅動包 |
| system | Y | Y | - | 存盤在本地的jar包 |
| import |
結束語
好的,關于Maven的基本內容我們就介紹到這里!
附錄
上述內容屬于學習內容,主要學習于B站黑馬程式員老陳的JavaWeb課程
這里附上鏈接:01-Maven概述_嗶哩嗶哩_bilibili
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505388.html
標籤:MySQL
下一篇:MySQL第五天
