Maven的生命周期:
講解Maven測試篇之前將首先介紹一下Maven生命周期的相關(guān)概念,如果你熟知這部分概念可以略過此小節(jié)內(nèi)容。
大多數(shù)時候,我們在構(gòu)建一個項(xiàng)目時,不外乎是對其進(jìn)行清理、編譯、測試和部署等操作。對于大多數(shù)項(xiàng)目,我們每次都要重復(fù)這些主要的流程,而Maven正是對這些必要的構(gòu)建過程進(jìn)行了抽象,它以項(xiàng)目的清理、初始化、編譯、測試、打包、部署等構(gòu)建步驟作為項(xiàng)目生命周期的各個階段。
每個Maven項(xiàng)目,都有三個相互獨(dú)立的生命周期,其中包括:
clean生命周期:負(fù)責(zé)項(xiàng)目的清理工作;
default生命周期:負(fù)責(zé)項(xiàng)目的部署;
site生命周期:負(fù)責(zé)創(chuàng)建項(xiàng)目的文檔站點(diǎn);
其中每個生命周期又包含不同的階段,例如clean生命周期下有pre-clean、clean和post-clean三個階段,分別負(fù)責(zé)項(xiàng)目清理前的工作、清理上次構(gòu)建的項(xiàng)目和項(xiàng)目清理后的工作,這些階段是順序執(zhí)行的,也就是說,當(dāng)你執(zhí)行pre-clean階段的時候,clean和post-clean階段不會被執(zhí)行,當(dāng)你執(zhí)行clean階段的時候,pre-clean階段和clean階段會被執(zhí)行,post-clean階段不會被執(zhí)行,當(dāng)你執(zhí)行post-clean階段時候,pre-clean、clean和post-clean這三個階段都會依次被執(zhí)行。同理,default生命周期和site生命周期下也分為各個不同的階段,這些階段和clean生命周期下的各個階段一樣,后面階段的執(zhí)行依賴于前面的階段執(zhí)行。
此時你可能認(rèn)為,當(dāng)執(zhí)行default生命周期下的某個階段時,clean生命周期下的所有階段也會被執(zhí)行,其實(shí)并非這樣。正如之前所說,Maven項(xiàng)目的每個生命周期是相互獨(dú)立的,執(zhí)行某個生命周期下的某個階段,不會對另外兩個生命周期下的任何階段產(chǎn)生影響。
如果要對Maven生命周期下的某個階段進(jìn)行調(diào)用,運(yùn)行相應(yīng)的Maven命令即可。例如,調(diào)用clean生命周期下的clean階段,運(yùn)行如下命令:
mvn clean
此時clean 生命周期下的pre-clean和clean階段將被執(zhí)行。
如果要調(diào)用de