Maven介紹與安裝配置

Maven介紹:


image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

Maven是項(xiàng)目對(duì)象模型(POM),是一個(gè)項(xiàng)目模塊管工具。能很好的管理模塊化開(kāi)發(fā)、模塊jar包的分享,并且可以自動(dòng)下載工程所需要的依賴(lài)包。
在開(kāi)發(fā)的過(guò)程中我們需要一些可重用的代碼來(lái)加快開(kāi)發(fā)的速度,因?yàn)榭偛豢赡芤恍┩ㄓ玫拇a每次都需要自己編寫(xiě)吧,那樣的話效率很低,或許我們可以將這些類(lèi)復(fù)制到別的開(kāi)發(fā)工具中使用,但是一兩個(gè)類(lèi)還好說(shuō),如果有幾十個(gè)類(lèi)該如何復(fù)制,而且用復(fù)制這種方式的話代碼也容易被修改或刪除。
在早期沒(méi)有Maven的時(shí)候,有一種方式是將可重用的代碼打包成jar包,然后用導(dǎo)jar包的方式來(lái)將這些可重用的代碼模塊在不同的【學(xué)Java,到凱哥學(xué)堂kaige123.com】開(kāi)發(fā)工具上使用。所以這就有一個(gè)問(wèn)題:如果需要導(dǎo)入很多個(gè)jar包怎么辦?使用的jar包有依賴(lài)包怎么辦?jar包的代碼要進(jìn)行升級(jí)怎么辦?
Maven的出現(xiàn)解決了這三個(gè)“怎么辦”,Maven能夠幫助開(kāi)發(fā)人員自動(dòng)在中央類(lèi)庫(kù)上下載依賴(lài)包,能夠自動(dòng)批量下載并導(dǎo)入jar包,代碼需要進(jìn)行升級(jí)的話只需要更改一下工程的核心配置文件就可以直接發(fā)布了,發(fā)布后其他用戶就可以直接通過(guò)Maven的中央類(lèi)庫(kù)下載,所以Maven就是幫助我們進(jìn)行模塊化開(kāi)發(fā)的,能夠加快開(kāi)發(fā)速度和構(gòu)建工程環(huán)境、管理模塊減輕開(kāi)發(fā)人員的壓力。Maven的中央類(lèi)庫(kù)是國(guó)際性的,全世界都可以從中央類(lèi)庫(kù)上下載自己所需要的jar包。
Maven在下載依賴(lài)的包時(shí),會(huì)先尋找本地類(lèi)庫(kù)有沒(méi)有,如果沒(méi)有本地類(lèi)庫(kù)就會(huì)去企業(yè)類(lèi)庫(kù)里找,企業(yè)類(lèi)庫(kù)里還是沒(méi)有的話,才到中央類(lèi)庫(kù)上找,在中央類(lèi)庫(kù)上找到后會(huì)先保存一份在企業(yè)類(lèi)庫(kù),然后再保存一份到本地類(lèi)庫(kù),最后才到達(dá)你的項(xiàng)目工程里,所以第一次下載包會(huì)慢一些,但是第二次再使用這個(gè)包的時(shí)候就可以直接在本地類(lèi)庫(kù)或者企業(yè)類(lèi)庫(kù)中尋找到了,而且在公司里其他的開(kāi)發(fā)的人員都可以直接在企業(yè)類(lèi)庫(kù)中下載需要的包,所以企業(yè)類(lèi)庫(kù)也起到一個(gè)緩存的作用。
示意圖:

Maven的中央類(lèi)庫(kù)不止一個(gè),有很多個(gè),最常用的是mvnrepository庫(kù):

mvnrepository地址:
https://mvnrepository.com/

Maven工具官網(wǎng)下載地址:
http://maven.apache.org/download.cgi
Maven的配置:
下載好后需要配置一下系統(tǒng)的環(huán)境變量,先新建一個(gè)環(huán)境變量MAVEN_HOME,然后把Maven的bin目錄所在的路徑粘貼上去,接著把bin目錄路徑添加到PATH路徑里:
1.新建MAVEN_HOME:


2.把bin目錄路徑添加到PATH路徑里:


接著更改Maven的本地庫(kù):





自定義配置好本地庫(kù),之后Maven下載的jar包都會(huì)在這個(gè)文件夾下。
配置中央類(lèi)庫(kù)(有需要的才配置,沒(méi)需要的默認(rèn)即可無(wú)需配置):




然后自己根據(jù)自己的需求更改網(wǎng)絡(luò)地址即可,一般沒(méi)啥需求的話使用默認(rèn)的就行了 :

在Eclipse中配置Maven的本地庫(kù):
先在Eclipse的菜單欄中點(diǎn)擊Window然后點(diǎn)擊Preferences進(jìn)入以下界面:




Maven在Eclipse上就配置好了。
接下來(lái)打開(kāi)cmd輸入mvn help:system命令,此命令會(huì)下載一些系統(tǒng)相關(guān)的包:

下載完成:

現(xiàn)在就可以在Eclipse上使用Maven構(gòu)建項(xiàng)目工程了,使用快捷鍵Ctrl+n進(jìn)入以下界面:


點(diǎn)擊下一步后會(huì)進(jìn)入Maven提供的工程模板選擇界面,當(dāng)然自己也可以構(gòu)建自己的工程模板:

如果不想使用這些模板就返回上一步,勾選跳過(guò)模板:


上圖的進(jìn)一步說(shuō)明:
Group Id:工程組的id,這個(gè)id必須是全球唯一的,所以最好使用域名作為id,因?yàn)檫@ 個(gè)id是你工程的唯一識(shí)別id,別人下載你的工程包的時(shí)候,是根據(jù)這個(gè)id來(lái)下載的, 如果與別人的工程id重名會(huì)導(dǎo)致混亂。
Artifact Id:項(xiàng)目名稱(chēng)和模塊名稱(chēng),如果有子模塊或功能就寫(xiě)在后面。
Version:表示這個(gè)工程的版本,一般創(chuàng)建的時(shí)候都是0.0.1的實(shí)驗(yàn)版本。
Packaging:選擇工程的包:jar是普通java工程,pom是文件創(chuàng)建,war包是web工程。
Name:工程名字。
Description:工程的介紹或說(shuō)明。
Parent Project:父工程信息,有需要?jiǎng)t填寫(xiě)無(wú)需要可以不填寫(xiě)。
創(chuàng)建完成,創(chuàng)建的時(shí)候會(huì)下載一些所需要的文件,等待一下即可:


打開(kāi)配置文件可以查看到工程的一些基本信息:

試一下在中央庫(kù)中下載包:
例如我要下載Hibernate相關(guān)的包,在中央庫(kù)的網(wǎng)站搜索一下,然后點(diǎn)擊一個(gè)進(jìn)去,然后選擇自己需要的版本:




如果把配置文件中的依賴(lài)刪掉的話,下載的包也會(huì)移除,不過(guò)并不會(huì)刪掉,會(huì)保存在本地庫(kù)中,下次使用的時(shí)候就會(huì)在本地庫(kù)中找。
共享工程jar給別人使用:
首先要將工程安裝到【學(xué)Java,到凱哥學(xué)堂kaige123.com】本地庫(kù),右鍵配置文件,選擇Run As,接著選擇Maven install就會(huì)開(kāi)始發(fā)布到本地庫(kù)了。
發(fā)布完成:

接著打開(kāi)配置文件:

復(fù)制到另一個(gè)開(kāi)發(fā)工具工程的配置文件中:



如果下載的包有依賴(lài)包的話會(huì)自動(dòng)下載依賴(lài)的包,版本升級(jí)的話只需要更改一下版本數(shù)字即可:

然后保存一下,同樣的點(diǎn)擊配置文件的Maven install發(fā)布到本地庫(kù)中。
另一個(gè)開(kāi)發(fā)工具的用戶只需要更改一下版本號(hào),接著保存就會(huì)自動(dòng)下載:


Maven的初步使用就完成了,可以看得出Maven這個(gè)工具能夠很方便的管理、發(fā)布、下載模塊或jar包。


?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,553評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,023評(píng)論 25 709
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,272評(píng)論 6 342
  • 當(dāng)前,JVM生態(tài)圈主要的三大構(gòu)建工具: Apache Ant(帶著Ivy) Maven Gradle 對(duì)于剛開(kāi)始接...
    清楓_小天閱讀 5,986評(píng)論 1 13
  • 春天,約上小伙伴們一起北碚縉云山,爬山,吸氧,吸陽(yáng)了。 先來(lái)個(gè)熱身。 各種上山方式。 幫阿姨背東西的遠(yuǎn)志兄。 騰空...
    丁香養(yǎng)生工作室閱讀 403評(píng)論 0 1

友情鏈接更多精彩內(nèi)容