狠狠色噜噜狠狠狠狠2021,久久精品国产亚洲av麻豆白洁,777米奇影视盒,国内精品老年人视频网站

Java中Maven詳解(java中的maven)

什么是Maven

Maven 是一個項目管理工具,它包含了一個項目對象模、型 (pom: Project Object Model),一組標(biāo)準(zhǔn)集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。

maven能做什么

1,省去jar包的導(dǎo)入,而是坐標(biāo)來進(jìn)行導(dǎo)入,減少了項目的內(nèi)存大小

2,更加方便的構(gòu)建項目,實現(xiàn)項目的一鍵構(gòu)建。指的是項目從編譯、測試、運行、打包、安裝 ,部署整個過程都交給 maven 進(jìn)行管理,這個過程稱為構(gòu)建

Maven 倉庫的分類

maven 的工作需要從倉庫下載一些 jar 包,如下圖所示,本地的項目 A、項目 B 等都會通過 maven軟件從遠(yuǎn)程倉庫(可以理解為互聯(lián)網(wǎng)上的倉庫)下載 jar 包并存在本地倉庫,本地倉庫 就是本地文件夾,當(dāng)?shù)诙涡枰?jar 包時則不再從遠(yuǎn)程倉庫下載,因為本地倉庫已經(jīng)存在了,可以將本地倉庫理解為緩存,有了本地倉庫就不用每次從遠(yuǎn)程倉庫下載了。

下圖描述了 maven 中倉庫的類型:

本地倉庫 :用來存儲從遠(yuǎn)程倉庫或中央倉庫下載的插件和 jar 包,項目使用一些插件或 jar 包,優(yōu)先從本地倉庫查找默認(rèn)本地倉庫位置在${user.dir}/.m2/repository, ${user.dir}表示 windows 用戶目錄

遠(yuǎn)程倉庫:如果本地需要插件或者 jar 包,本地倉庫沒有, 默認(rèn)去遠(yuǎn)程倉庫下載。遠(yuǎn)程倉庫可以在互聯(lián)網(wǎng)內(nèi)也可以在局域網(wǎng)內(nèi)。

中央倉庫 :在 maven 軟件中內(nèi)置一個遠(yuǎn)程倉庫地址http://repo1.maven.org/maven2 ,它是中央倉庫,服務(wù)于整個互聯(lián)網(wǎng),它是由 Maven 團(tuán)隊自己維護(hù),里面存儲了非常全的 jar 包,它包含了世界上大部分流行的開源項目構(gòu)件。

maven 的概念模型

Maven 包含了一個項目對象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個項目生命周期(ProjectLifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。

? 項目對象模型 (Project Object Model)

一個 maven 工程都有一個 pom.xml 文件,通過 pom.xml 文件定義項目的坐標(biāo)、項目依賴、項目信息、

插件目標(biāo)等。

? 依賴管理系統(tǒng)(Dependency Management System)

通過 maven 的依賴管理對項目所依賴的 jar 包進(jìn)行統(tǒng)一管理。

比如:項目依賴 junit4.9,通過在 pom.xml 中定義 junit4.9 的依賴即使用 junit4.9,如下所示是 junit4.9的依賴定義:

? 一個項目生命周期(Project Lifecycle)

使用 maven 完成項目的構(gòu)建,項目構(gòu)建包括:清理、編譯、測試、部署等過程, maven 將這些

過程規(guī)范為一個生命周期,如下所示是生命周期的各各階段:

常用的 maven 命令

compile:編譯

clean:清理

test:測試

package:打包

install:安裝

坐標(biāo)定義

在 pom.xml 中定義坐標(biāo),內(nèi)容包括: groupId、 artifactId、 version,詳細(xì)內(nèi)容如下:

<!–項目名稱,定義為組織名 項目名,類似包名–>

<groupId>cn.itcast.maven</groupId>

<!– 模塊名稱 –>

<artifactId>maven-first</artifactId>

<!– 當(dāng)前項目版本號, snapshot 為快照版本即非正式版本, release 為正式發(fā)布版本 –>

<version>0.0.1-SNAPSHOT</version>

<packaging > :打包類型

jar:執(zhí)行 package 會打成 jar 包

war:執(zhí)行 package 會打成 war 包

pom :用于 maven 工程的繼承,通常父工程設(shè)置為 pom

pom 基本配置

pom.xml 是 Maven 項目的核心配置文件,位于每個工程的根目錄,基本配置如下:

<project > :文件的根節(jié)點 .

<modelversion > : pom.xml 使用的對象模型版本

<groupId > : 項目名稱,一般寫項目的域名

<artifactId > : 模塊名稱,子項目名或模塊名稱

<version > :產(chǎn)品的版本號 .

<packaging > :打包類型,一般有 jar、 war、 pom 等

<name > :項目的顯示名,常用于 Maven 生成的文檔。

<description > :項目描述,常用于 Maven 生成的文檔

<dependencies> :項目依賴構(gòu)件配置,配置項目依賴構(gòu)件的坐標(biāo)

<build> :項目構(gòu)建配置,配置編譯、運行插件等。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2023年11月21日 下午5:29
下一篇 2023年11月21日 下午5:46

相關(guān)推薦