Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期
之前通過學(xué)習(xí)對maven命令有了部分了解,但是只是知道m(xù)aven是用來做什么。但到目前位置還不足以全面的了解maven,為更全面的了解maven,需要學(xué)習(xí)以下幾個概念:Maven坐標(biāo)、Maven倉庫、Maven生命周期。
Maven坐標(biāo)
maven坐標(biāo)概念:每個構(gòu)件都有自己的一個標(biāo)識(唯一的),它由groupId,artifactId,version等信息組成,因此maven就可以對構(gòu)件進(jìn)行版本控制、管理。
備注:
groupId :公司名稱或者組織名稱;
artifactId:項目名稱;
version:當(dāng)前項目的版本號。
上邊定義maven的概念時提到了構(gòu)件,那么什么是構(gòu)件呢?
------在maven中任何依賴(jar包)、項目輸出(通過其他工具打包的jar、war等)都可以稱為構(gòu)件。
packing:定義maven項目打包的方式,也可以通過定義打包成war等;當(dāng)不定義packing時,maven就會使用默認(rèn)值jar。
classifer:表示在相同版本下針對不同的環(huán)境或者jdk使用的jar,如果配置了這個元素,則將這個元素的名稱附加到報名的后邊。例如:json-0.1-jdk1.6.jar。
Maven倉庫
maven倉庫定義:在maven中會有一個統(tǒng)一存儲所有項目的共享構(gòu)建的位置,這個統(tǒng)一的位置,我們就稱之為倉庫。
maven倉庫的分類:本地倉庫、遠(yuǎn)程倉庫。
其中遠(yuǎn)程倉庫有分為三種:中央倉庫、私服、其他公共倉庫。
1)本地倉庫:maven在本地存儲構(gòu)件的地方。
注意:maven的本地倉庫,在maven安裝后并不創(chuàng)建,它是在第一次執(zhí)行maven命令的時候才被創(chuàng)建的。
maven本地倉庫的默認(rèn)位置:無論windows還是linux環(huán)境,都是默認(rèn)位置都是在用戶的目錄下的一個./m2/repository/倉庫目錄,這就是maven倉庫的默認(rèn)位置。
maven本地倉庫的默認(rèn)位置更改:通過修改配置文件settings.xml中的localRepository標(biāo)簽,就可以實現(xiàn)。
備注:一般修改時,可以把之前已經(jīng)下載的本地構(gòu)件內(nèi)容賦值到新的構(gòu)件存儲目錄下,這樣就可以省去重新下載構(gòu)件的時間。
Maven生命周期
maven聲明周期概念:它是對所有的構(gòu)建過程進(jìn)行抽象和統(tǒng)一。包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎所有的構(gòu)建過程步驟。
Maven有三套相互獨立的生命周期,它們是相互獨立的。分別是:
Clean :在進(jìn)行構(gòu)件之前進(jìn)行一些清理工作
1)pre-clean:執(zhí)行清理前需要完成的工作;
2)clean:清理上一次構(gòu)建生成的文件;
3)post-clean:執(zhí)行清理后需要完成的工作。
Default:構(gòu)件的核心部分:編譯、測試、打包、部署等
1)validate:驗證工程是否正確,所有需要的資源是否可用;
2)compile:編譯項目的源代碼;
3)test:使用合適的單元測試框架來測試已經(jīng)編譯的源代碼,該測試不需要打包和部署。
4)package:把已編譯的代碼打包發(fā)成可發(fā)布的格式,比如:jar;
5)integration-test:如有需要將包處理和發(fā)布一個能夠進(jìn)行集成測試的環(huán)境。
6)verify:運(yùn)行所有檢查,驗證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn);
7)install:把包安裝到maven本地倉庫,可以被其他工程作為依賴來使用;
8)deploy:在集成或者發(fā)布環(huán)境下執(zhí)行,將最終版本的包拷貝到遠(yuǎn)程的repository,使得其他的開發(fā)者或者工程可以共享。
Site :生成項目報告、站點,站點發(fā)布。
1)pre-site:生成項目站點之前需要完成的工作;
2)site:生成項目站點文檔;
3)post-site:生成項目站點之后需要完成的工作;
4)site-deploy:將項目站點文件發(fā)布到服務(wù)器。
注意:
運(yùn)行任何一個階段的時候,它前面的所有階段都會被運(yùn)行。例如:運(yùn)行mvn install時,代碼會被編譯、測試、打包。
比如:運(yùn)行mvn site命令,一定會執(zhí)行pre-site該步驟;運(yùn)行mvn site-deploy命令,一定會執(zhí)行pre-site和site這兩個步驟。
總結(jié)
以上是生活随笔為你收集整理的Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 姓氏佟,怎样自我介绍才能给大家留下深刻印
- 下一篇: Entity Framework Cod