描述
Maven的生命周期就是對所有的構(gòu)建過程進行抽象和統(tǒng)一仲义。包含了項目的清理、初始化夯接、編譯外邓、測試、打包昂利、集成測試、驗證、部署和站點生成等幾乎所有的構(gòu)建步驟培他。
Maven的生命周期是抽象的,即生命周期不做任何實際的工作遗座,實際任務(wù)由插件完成舀凛,類似于設(shè)計模式中的模板方法。
三套生命周期
Maven有三套相互獨立的生命周期途蒋,分別是clean猛遍、default和site。每個生命周期包含一些階段(phase)号坡,階段是有順序的懊烤,后面的階段依賴于前面的階段。
1. clean生命周期:清理項目宽堆,包含三個phase:
1)pre-clean:執(zhí)行清理前需要完成的工作
2)clean:清理上一次構(gòu)建生成的文件
3)post-clean:執(zhí)行清理后需要完成的工作
2. default生命周期:構(gòu)建項目腌紧,重要的phase如下:
1)validate:驗證工程是否正確,所有需要的資源是否可用畜隶。
2)compile:編譯項目的源代碼壁肋。
3)test:使用合適的單元測試框架來測試已編譯的源代碼号胚。這些測試不需要已打包和布署。
4)Package:把已編譯的代碼打包成可發(fā)布的格式浸遗,比如jar猫胁。
5)integration-test:如有需要,將包處理和發(fā)布到一個能夠進行集成測試的環(huán)境乙帮。
6)verify:運行所有檢查杜漠,驗證包是否有效且達到質(zhì)量標準。
7)install:把包安裝到maven本地倉庫察净,可以被其他工程作為依賴來使用驾茴。
8)Deploy:在集成或者發(fā)布環(huán)境下執(zhí)行,將最終版本的包拷貝到遠程的repository氢卡,使得其他的開發(fā)者或者工程可以共享锈至。
3. site生命周期:建立和發(fā)布項目站點,phase如下:
1)pre-site:生成項目站點之前需要完成的工作
2)site:生成項目站點文檔
3)post-site:生成項目站點之后需要完成的工作
4)site-deploy:將項目站點發(fā)布到服務(wù)器
注:各個生命周期相互獨立译秦,一個生命周期的階段前后依賴峡捡。
座右銘:努力不一定成功,但放棄一定失斨病们拙!