Java基礎(chǔ)之簡(jiǎn)單介紹一下Maven
一、Maven是什么?
Maven是一個(gè)跨平臺(tái)的項(xiàng)目管理工具。作為Apache組織的一個(gè)頗為成功的開(kāi)源項(xiàng)目,其主要服務(wù)于基于Java平臺(tái)的項(xiàng)目創(chuàng)建,依賴(lài)管理和項(xiàng)目信息管理,是一個(gè)自動(dòng)化構(gòu)建工具。maven是Apache的頂級(jí)項(xiàng)目,解釋為“專(zhuān)家,內(nèi)行”,它是一個(gè)項(xiàng)目管理的工具,maven自身是純java開(kāi)發(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)建、依賴(lài)管理。
二、Maven的作用
1.管理jar包
(1)增加第三方j(luò)ar包(不需要自己下載jar包)
(2)管理jar包之間的依賴(lài)關(guān)系(maven自動(dòng)關(guān)聯(lián)下載所有依賴(lài)的jar包)
2.將項(xiàng)目拆分成若干個(gè)模塊:借助于Maven可以將一個(gè)項(xiàng)目拆分成多個(gè)工程。(例如愛(ài)洋蔥)

三、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è)試開(kāi)發(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):將打成的包,放到本地倉(cāng)庫(kù),供其他項(xiàng)目使用。
8.部署(deploy):將打成的包,放到服務(wù)器上,準(zhǔn)備運(yùn)行。
四、Maven的好處
Maven的好處總結(jié)起來(lái)有兩點(diǎn),分別是依賴(lài)管理,生命周期。
1.依賴(lài)管理:對(duì)第三方的jar包進(jìn)行統(tǒng)一的管理,通過(guò)maven定義jar包的坐標(biāo),自動(dòng)從maven倉(cāng)庫(kù)中下載到工程(體現(xiàn)了代碼重用的原則)
2.生命周期:生命周期的一鍵構(gòu)建,提供了一套對(duì)項(xiàng)目生命周期管理的標(biāo)準(zhǔn),開(kāi)發(fā)人員,測(cè)試人員統(tǒng)一使用maven進(jìn)行項(xiàng)目的構(gòu)建.項(xiàng)目的生命周期管理:編譯,測(cè)試,打包,部署,運(yùn)行
五、Maven的倉(cāng)庫(kù)分類(lèi)以及簡(jiǎn)單的說(shuō)明
1.本地倉(cāng)庫(kù) : 相當(dāng)于緩存。本地倉(cāng)庫(kù)存儲(chǔ)在本地的磁盤(pán)當(dāng)中,里面存放的是經(jīng)常使用的jar包。
2.遠(yuǎn)程倉(cāng)庫(kù) : 也叫做私服?;久總€(gè)公司都會(huì)有自己的私服,當(dāng)本地的磁盤(pán)中不存在需要的jar包資源,則會(huì)請(qǐng)求私服進(jìn)行資源下載。
3.中央倉(cāng)庫(kù) : 遠(yuǎn)程倉(cāng)庫(kù),由jar專(zhuān)業(yè)團(tuán)隊(duì)統(tǒng)一維護(hù)。
六、Maven定義jar包的各個(gè)字段的描述
groupId : 定義當(dāng)前Maven組織的名稱(chēng)
artifactId : 定義項(xiàng)目模塊
version : 定義當(dāng)前項(xiàng)目的版本
scope : 依賴(lài)的范圍;
其中,依賴(lài)范圍如下圖所示:(提醒一下provided,因?yàn)轫?xiàng)目真正運(yùn)行的時(shí)候,在tomcat有特定的serclet-api,所以在servlet-api的依賴(lài)范圍規(guī)定為provided)

七、Maven常用的命令(生命周期)
mvn clean命令; 清除target目錄
mvn compile命令; 編譯,生成target目錄
mvn test命令; 將測(cè)試代碼和核心代碼一起編譯
mvn package命令; 編譯測(cè)試代碼和核心代碼并且打包對(duì)應(yīng)的包類(lèi)型
mvn install命令; 編譯測(cè)試代碼和核心代碼并且打包對(duì)應(yīng)的包類(lèi)型并且將生成的包安裝到本地倉(cāng)庫(kù)
mvn deploy命令; 用于發(fā)布項(xiàng)目
到此這篇關(guān)于Java基礎(chǔ)之簡(jiǎn)單介紹一下Maven的文章就介紹到這了,更多相關(guān)Java Maven內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
教你使用java將excel數(shù)據(jù)導(dǎo)入MySQL
今天教大家如何使用Java將excel數(shù)據(jù)導(dǎo)入MySQL,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下2021-05-05
springboot創(chuàng)建多module項(xiàng)目的實(shí)例
這篇文章主要介紹了springboot創(chuàng)建多module項(xiàng)目的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Springboot?maven項(xiàng)目配置文件覆蓋問(wèn)題的處理
這篇文章主要介紹了Springboot?maven項(xiàng)目配置文件覆蓋問(wèn)題的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Stream distinct根據(jù)list某個(gè)字段去重的解決方案
這篇文章主要介紹了Stream distinct根據(jù)list某個(gè)字段去重,stream的distinct去重方法,是根據(jù) Object.equals,和 Object.hashCode這兩個(gè)方法來(lái)判斷是否重復(fù)的,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)項(xiàng)目之在線(xiàn)服裝銷(xiāo)售商城系統(tǒng)的實(shí)現(xiàn)流程
基礎(chǔ)掌握怎么樣,用實(shí)戰(zhàn)檢驗(yàn)就知道了,本篇文章手把手帶你用java+SpringBoot+Maven+Vue+mysql實(shí)現(xiàn)一個(gè)在線(xiàn)服裝銷(xiāo)售商城系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2022-01-01
java一個(gè)數(shù)據(jù)整理的方法代碼實(shí)例
這篇文章主要介紹了java一個(gè)數(shù)據(jù)整理的方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
SSH框架網(wǎng)上商城項(xiàng)目第6戰(zhàn)之基于DataGrid的數(shù)據(jù)顯示
SSH框架網(wǎng)上商城項(xiàng)目第6戰(zhàn)之基于DataGrid的數(shù)據(jù)顯示,提供了豐富的選擇、排序、分組和編輯數(shù)據(jù)的功能支持,感興趣的小伙伴們可以參考一下2016-05-05
Springboot如何實(shí)現(xiàn)對(duì)配置文件中的明文密碼加密
這篇文章主要介紹了Springboot如何實(shí)現(xiàn)對(duì)配置文件中的明文密碼加密問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Java通過(guò)PropertyDescriptor反射調(diào)用set和get方法
這篇文章主要為大家詳細(xì)介紹了Java通過(guò)PropertyDescriptor反射調(diào)用set和get方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
java開(kāi)源項(xiàng)目jeecgboot的超詳細(xì)解析
JeecgBoot是一款基于BPM的低代碼平臺(tái),下面這篇文章主要給大家介紹了關(guān)于java開(kāi)源項(xiàng)目jeecgboot的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10

