Maven的生命周期
Maven的生命周期是對(duì)所有構(gòu)建過程的抽象和統(tǒng)一。它包括幾乎所有的構(gòu)建步驟,如項(xiàng)目清理、初始化、編譯、測(cè)試、打包、集成測(cè)試、驗(yàn)證、部署和站點(diǎn)生成。
Maven的生命周期是抽象的,也就是說,生命周期不做任何實(shí)際工作,實(shí)際任務(wù)由插件完成,類似于設(shè)計(jì)模式中的模板方法。
三套生命周期Maven有三套獨(dú)立的生命周期,分別是clean、default和site。每個(gè)生命周期都包含一些階段(phase),這些階段是有順序的,后面的階段依賴于前面的階段。
1、clean生命周期:對(duì)項(xiàng)目進(jìn)行清理,包含三個(gè)phase。
(1)pre-clean:執(zhí)行清理前需要做的工作
(2)clean:清理上次構(gòu)建生成的文件
(3)post-clean:執(zhí)行清理后需要做的工作
2、default生命周期:建立項(xiàng)目,重要階段如下。
(1)validate:驗(yàn)證工程是否正確,所有需要的資源是否可用。
(2)compile:編譯項(xiàng)目的源代碼。
(3)test:使用合適的單元測(cè)試框架來測(cè)試已編譯的源代碼。這些測(cè)試不需要已打包和布署。
(4)Package:把已編譯的代碼打包成可發(fā)布的格式,比如jar。
(5)integration-test:如有需要,將包處理和發(fā)布到一個(gè)能夠進(jìn)行集成測(cè)試的環(huán)境。
(6)verify:運(yùn)行所有檢查,驗(yàn)證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn)。
(7)install:把包安裝到maven本地倉(cāng)庫(kù),可以被其他工程作為依賴來使用。
(8)Deploy:在集成或者發(fā)布環(huán)境下執(zhí)行,將最終版本的包拷貝到遠(yuǎn)程的repository,使得其他的開發(fā)者或者工程可以共享。
3、site生命周期:創(chuàng)建和發(fā)布項(xiàng)目站點(diǎn),階段劃分如下
(1)pre-site:生成項(xiàng)目站點(diǎn)前要做的工作
(2)site:生成項(xiàng)目網(wǎng)站的文檔
(3)post-site:生成項(xiàng)目站點(diǎn)后要做的工作
(4)site-deploy:將項(xiàng)目站點(diǎn)發(fā)布到服務(wù)器上