Java基礎(chǔ)之簡單介紹一下Maven
一、Maven是什么?
Maven是一個(gè)跨平臺的項(xiàng)目管理工具。作為Apache組織的一個(gè)頗為成功的開源項(xiàng)目,其主要服務(wù)于基于Java平臺的項(xiàng)目創(chuàng)建,依賴管理和項(xiàng)目信息管理,是一個(gè)自動(dòng)化構(gòu)建工具。maven是Apache的頂級項(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對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.測試(test):針對于項(xiàng)目中的關(guān)鍵點(diǎn)進(jìn)行測試,也可用項(xiàng)目中的測試代碼去測試開發(fā)代碼
5.打包(package):將項(xiàng)目中包含的多個(gè)文件壓縮成一個(gè)文件,用于安裝或部署(java項(xiàng)目打成一個(gè)jar包,web項(xiàng)目打成一個(gè)war包,父工程-pom)
6.檢查(verify):對集成測試的結(jié)果進(jìn)行檢查,以保證質(zhì)量達(dá)標(biāo)
7.安裝(install):將打成的包,放到本地倉庫,供其他項(xiàng)目使用。
8.部署(deploy):將打成的包,放到服務(wù)器上,準(zhǔn)備運(yùn)行。
四、Maven的好處
Maven的好處總結(jié)起來有兩點(diǎn),分別是依賴管理,生命周期。
1.依賴管理:對第三方的jar包進(jìn)行統(tǒng)一的管理,通過maven定義jar包的坐標(biāo),自動(dòng)從maven倉庫中下載到工程(體現(xiàn)了代碼重用的原則)
2.生命周期:生命周期的一鍵構(gòu)建,提供了一套對項(xiàng)目生命周期管理的標(biāo)準(zhǔn),開發(fā)人員,測試人員統(tǒng)一使用maven進(jìn)行項(xiàng)目的構(gòu)建.項(xiàng)目的生命周期管理:編譯,測試,打包,部署,運(yùn)行
五、Maven的倉庫分類以及簡單的說明
1.本地倉庫 : 相當(dāng)于緩存。本地倉庫存儲(chǔ)在本地的磁盤當(dāng)中,里面存放的是經(jīng)常使用的jar包。
2.遠(yuǎn)程倉庫 : 也叫做私服。基本每個(gè)公司都會(huì)有自己的私服,當(dāng)本地的磁盤中不存在需要的jar包資源,則會(huì)請求私服進(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命令; 將測試代碼和核心代碼一起編譯
mvn package命令; 編譯測試代碼和核心代碼并且打包對應(yīng)的包類型
mvn install命令; 編譯測試代碼和核心代碼并且打包對應(yīng)的包類型并且將生成的包安裝到本地倉庫
mvn deploy命令; 用于發(fā)布項(xiàng)目
到此這篇關(guān)于Java基礎(chǔ)之簡單介紹一下Maven的文章就介紹到這了,更多相關(guān)Java Maven內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring boot使用i18n時(shí)properties文件中文亂碼問題的解決方法
這篇文章主要介紹了spring boot使用i18n時(shí)properties文件中文亂碼問題的解決方法,需要的朋友可以參考下2017-11-11Win10系統(tǒng)下配置java環(huán)境變量的全過程
這篇文章主要給大家介紹了關(guān)于Win10系統(tǒng)下配置java環(huán)境變量的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11java實(shí)現(xiàn)簡易局域網(wǎng)聊天功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡易局域網(wǎng)聊天功能,使用UDP模式編寫一個(gè)聊天程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04完美解決springboot項(xiàng)目出現(xiàn)”java: 錯(cuò)誤: 無效的源發(fā)行版:17“問題(圖文詳解)
這篇文章主要介紹了完美解決springboot項(xiàng)目出現(xiàn)”java: 錯(cuò)誤: 無效的源發(fā)行版:17“問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04一次Jvm old過高的排查過程實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次Jvm old過高的排查過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11詳解如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API
作為后端程序員,我們的日常工作就是調(diào)用一些第三方服務(wù),將數(shù)據(jù)存入數(shù)據(jù)庫,返回信息給前端。本文為大家介紹了如何在SpringBoot中優(yōu)雅地重試調(diào)用第三方API,需要的可以參考一下2022-12-12