在創(chuàng)建Java項(xiàng)目的時(shí)候,往往會(huì)選擇使用maven工具來創(chuàng)建項(xiàng)目。本篇文章,將為大家簡(jiǎn)單地介紹一下Java中的Maven工具是什么,Maven能用來做什么,以及Maven的具體使用方法。
一、Maven是什么?
Maven是一個(gè)跨平臺(tái)的項(xiàng)目管理工具。作為Apache組織的一個(gè)頗為成功的開源項(xiàng)目,其主要服務(wù)于基于Java平臺(tái)的項(xiàng)目創(chuàng)建,依賴管理和項(xiàng)目信息管理,是一個(gè)自動(dòng)化構(gòu)建工具。maven是Apache的頂級(jí)項(xiàng)目,解釋為“專家,內(nèi)行”,它是一個(gè)項(xiàng)目管理的工具,maven自身是純java開發(fā)的( Theresult is a tool that can now be used for building and managing any Java-basedproject),可以使用maven對(duì)java項(xiàng)目進(jìn)行構(gòu)建、依賴管理。
二、Maven的作用
1.管理jar包
(1)增加第三方j(luò)ar包(不需要自己下載jar包)
(2)管理jar包之間的依賴關(guān)系(maven自動(dòng)關(guān)聯(lián)下載所有依賴的jar包)
2.將項(xiàng)目拆分成若干個(gè)模塊:借助于Maven可以將一個(gè)項(xiàng)目拆分成多個(gè)工程。(例如愛洋蔥)
三、Maven能干的事情
1.清理(clean):刪除編譯的結(jié)果,為重新編譯做準(zhǔn)備。
2.驗(yàn)證(validate):驗(yàn)證項(xiàng)目是否正確且所有必須信息是可用的。
3.編譯(cpmpile):java->class
4.測(cè)試(test):針對(duì)于項(xiàng)目中的關(guān)鍵點(diǎn)進(jìn)行測(cè)試,也可用項(xiàng)目中的測(cè)試代碼去測(cè)試開發(fā)代碼
5.打包(package):將項(xiàng)目中包含的多個(gè)文件壓縮成一個(gè)文件,用于安裝或部署(java項(xiàng)目打成一個(gè)jar包,web項(xiàng)目打成一個(gè)war包,父工程-pom)
6.檢查(verify):對(duì)集成測(cè)試的結(jié)果進(jìn)行檢查,以保證質(zhì)量達(dá)標(biāo)
7.安裝(install):將打成的包,放到本地倉庫,供其他項(xiàng)目使用。
8.部署(deploy):將打成的包,放到服務(wù)器上,準(zhǔn)備運(yùn)行。
四、Maven的好處
Maven的好處總結(jié)起來有兩點(diǎn),分別是依賴管理,生命周期。
1.依賴管理:對(duì)第三方的jar包進(jìn)行統(tǒng)一的管理,通過maven定義jar包的坐標(biāo),自動(dòng)從maven倉庫中下載到工程(體現(xiàn)了代碼重用的原則)
2.生命周期:生命周期的一鍵構(gòu)建,提供了一套對(duì)項(xiàng)目生命周期管理的標(biāo)準(zhǔn),開發(fā)人員,測(cè)試人員統(tǒng)一使用maven進(jìn)行項(xiàng)目的構(gòu)建.項(xiàng)目的生命周期管理:編譯,測(cè)試,打包,部署,運(yùn)行
五、Maven的倉庫分類以及簡(jiǎn)單的說明
1.本地倉庫 : 相當(dāng)于緩存。本地倉庫存儲(chǔ)在本地的磁盤當(dāng)中,里面存放的是經(jīng)常使用的jar包。
2.遠(yuǎn)程倉庫 : 也叫做私服?;久總€(gè)公司都會(huì)有自己的私服,當(dāng)本地的磁盤中不存在需要的jar包資源,則會(huì)請(qǐng)求私服進(jìn)行資源下載。
3.中央倉庫 : 遠(yuǎn)程倉庫,由jar專業(yè)團(tuán)隊(duì)統(tǒng)一維護(hù)。
六、Maven定義jar包的各個(gè)字段的描述
groupId : 定義當(dāng)前Maven組織的名稱
artifactId : 定義項(xiàng)目模塊
version : 定義當(dāng)前項(xiàng)目的版本
scope : 依賴的范圍;
其中,依賴范圍如下圖所示:(提醒一下provided,因?yàn)轫?xiàng)目真正運(yùn)行的時(shí)候,在tomcat有特定的serclet-api,所以在servlet-api的依賴范圍規(guī)定為provided)
七、Maven常用的命令(生命周期)
mvn clean命令; 清除target目錄
mvn compile命令; 編譯,生成target目錄
mvn test命令; 將測(cè)試代碼和核心代碼一起編譯
mvn package命令; 編譯測(cè)試代碼和核心代碼并且打包對(duì)應(yīng)的包類型
mvn install命令; 編譯測(cè)試代碼和核心代碼并且打包對(duì)應(yīng)的包類型并且將生成的包安裝到本地倉庫
mvn deploy命令; 用于發(fā)布項(xiàng)目
關(guān)于Java中的Maven是什么,以及怎么使用Maven的內(nèi)容就介紹到此結(jié)束了,想要了解更多關(guān)于Java Maven的其他內(nèi)容,可以多多關(guān)注
W3Cschool其他相關(guān)文章,希望本篇文章能夠幫助到各位小伙伴的學(xué)習(xí)。