Maven
目錄
1 學(xué)習(xí)目標(biāo) 1
2 Maven 介紹 1
3 Maven 安裝與配置 3
4 Maven 快速入門 6
5 Maven 常用命令 7
6 Maven的概念模型 8
學(xué)習(xí)目標(biāo)
Maven 介紹
Maven是Apache 下開源的、純java開發(fā)的一個(gè)項(xiàng)目管理工具。使用Maven 對(duì)項(xiàng)目進(jìn)行構(gòu)建、依賴管理。
什么是項(xiàng)目構(gòu)建
項(xiàng)目構(gòu)建是一個(gè)項(xiàng)目從編寫代碼、編譯、測試、運(yùn)行、打包、部署、運(yùn)行的過程。
傳統(tǒng)的eclipse 構(gòu)建項(xiàng)目過程如下
- 在開發(fā)工具中創(chuàng)建項(xiàng)目
- 在項(xiàng)目中編寫源代碼和配置文件
- 對(duì)源代碼進(jìn)行編譯,即JAVA 文件編譯成class 文件(一般開發(fā)工具會(huì)自動(dòng)編譯)
- Junit 單元測試
- 將工程打成war 包部署至tomcat或jetty中運(yùn)行
Maven 構(gòu)建項(xiàng)目的步驟
Maven 對(duì)項(xiàng)目的每個(gè)過程進(jìn)行標(biāo)準(zhǔn)化管理,使用一個(gè)命令就可以完成一個(gè)標(biāo)準(zhǔn)過程。
- compile :Java文件編譯成.class文件
- clean : 清理class文件
- package :java 工程打包成jar 文件,web 工程打包成war文件
- Jetty:run 運(yùn)行一個(gè)web工程
什么是依賴管理
- 什么是依賴?
一個(gè)java 項(xiàng)目需要第三方的JAR 支持,才能運(yùn)行,那么該項(xiàng)目就依賴的該jar 包。
- 什么依賴管理?
對(duì)項(xiàng)目依賴的JAR 包進(jìn)行規(guī)范化管理
傳統(tǒng)項(xiàng)目和maven項(xiàng)目管理對(duì)比
傳統(tǒng)項(xiàng)目
需要人工添加相關(guān)第三方的jar到項(xiàng)目中,這樣可能存在的問題
- 沒有對(duì)Jar 包版本的統(tǒng)一進(jìn)行管理,容易造成版本沖突
- Jar 包不容易找到
- Jar 包添加到工程中,導(dǎo)致工程過大
Maven 項(xiàng)目
Maven 項(xiàng)目不需要手工添加jar 到項(xiàng)目中,開發(fā)人員只需要維護(hù)pom.xml配置文件,在配置文件中維護(hù)依賴jar包的坐標(biāo),maven會(huì)自動(dòng)從倉庫中下載jar、運(yùn)行。
好處:
- Pom.xml 中版本統(tǒng)一,不會(huì)出現(xiàn)沖突的問題
- Maven 團(tuán)隊(duì)維護(hù)jar 文件,當(dāng)前使用jar 包,maven倉庫中都有,使用方便。
使用maven 的好處
- 依賴管理
- 一步構(gòu)建
- Maven 跨平臺(tái),可在windows,linux上運(yùn)行
- Maven 遵循開發(fā)規(guī)范,有利于提高大型團(tuán)隊(duì)的開發(fā)效率,降低維護(hù)成本
Maven 安裝與配置
下載安裝
- 下載路徑http://maven.apache.org/
- 解壓到不含中文和空格的目錄
- 配置maven環(huán)境變量
添加到path
運(yùn)行 cmd進(jìn)入,輸入mvn –v 如果提示下圖,則配置成功
Maven 工作流程
maven 解析 在pom.xml 文件,根據(jù)坐標(biāo)去本地倉庫(local repository)中找尋需要的jar ,如果本地倉庫中沒有,則自動(dòng)通過互聯(lián)網(wǎng)去遠(yuǎn)程倉庫(remote repository)中下載需要的 jar 到本地倉庫中。本地倉庫可以理解為緩存.
如果要想從外網(wǎng)上下載,如eclipse 中
maven倉庫
本地倉庫
用來存儲(chǔ)從遠(yuǎn)程倉庫或中央倉庫下載的jar 包.
項(xiàng)目中使用的jar, 從本地倉庫中查找。
本地倉庫默認(rèn)位置:
${user.home}/.m2/repository ${user.home}代表為當(dāng)前windows用戶
遠(yuǎn)程倉庫
如果本地倉庫沒有需要的jar,則去遠(yuǎn)程倉庫查找。遠(yuǎn)程倉庫可以在局域網(wǎng)內(nèi),也可以在局域網(wǎng)外。
遠(yuǎn)程倉庫可以理解為公司的私服,該倉庫中的jar 有所在公司的人維護(hù),服務(wù)于具體某個(gè)公司或組織。
中央倉庫
在maven中設(shè)置一個(gè)遠(yuǎn)程倉庫地址http://respo1.maven.org/maven2,
中央倉庫服務(wù)與整個(gè)互聯(lián)網(wǎng),它是由Maven 團(tuán)隊(duì)維護(hù),里面包含了非常全的jar 包。
配置本地倉庫地址
在maven 的安裝路徑的 conf 下設(shè)置settings.xml
<localRepository>D:toolsrepository</localRepository>
表示本地的倉庫地址為D:toolsrepository該路徑下
預(yù)告
下次繼續(xù)介紹在開發(fā)工具中的使用
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。