一、Maven的生命周期
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),臨洮企業(yè)網(wǎng)站建設(shè),臨洮品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨洮網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨洮網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。Maven的生命周期就是對所有的構(gòu)建過程進(jìn)行抽象和統(tǒng)一。包含了項(xiàng)目的清理、初始化、編譯、測試、打包、集成測試、驗(yàn)證、部署和站點(diǎn)生成等幾乎所有的構(gòu)建步驟。
Maven的生命周期是抽象的,即生命周期不做任何實(shí)際的工作,實(shí)際任務(wù)由插件完成,類似于設(shè)計(jì)模式中的模板方法。
二、三套生命周期
Maven有三套相互獨(dú)立的生命周期,分別是clean、default和site。每個(gè)生命周期包含一些階段(phase),階段是有順序的,后面的階段依賴于前面的階段。
1、clean生命周期:清理項(xiàng)目,包含三個(gè)phase。
1)pre-clean:執(zhí)行清理前需要完成的工作
2)clean:清理上一次構(gòu)建生成的文件
3)post-clean:執(zhí)行清理后需要完成的工作
2、default生命周期:構(gòu)建項(xiàng)目,重要的phase如下。
1)validate:驗(yàn)證工程是否正確,所有需要的資源是否可用。
2)compile:編譯項(xiàng)目的源代碼。
3)test:使用合適的單元測試框架來測試已編譯的源代碼。這些測試不需要已打包和布署。
4)Package:把已編譯的代碼打包成可發(fā)布的格式,比如jar。
5)integration-test:如有需要,將包處理和發(fā)布到一個(gè)能夠進(jìn)行集成測試的環(huán)境。
6)verify:運(yùn)行所有檢查,驗(yàn)證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn)。
7)install:把包安裝到maven本地倉庫,可以被其他工程作為依賴來使用。
8)Deploy:在集成或者發(fā)布環(huán)境下執(zhí)行,將最終版本的包拷貝到遠(yuǎn)程的repository,使得其他的開發(fā)者或者工程可以共享。
3、site生命周期:建立和發(fā)布項(xiàng)目站點(diǎn),phase如下
1)pre-site:生成項(xiàng)目站點(diǎn)之前需要完成的工作
2)site:生成項(xiàng)目站點(diǎn)文檔
3)post-site:生成項(xiàng)目站點(diǎn)之后需要完成的工作
4)site-deploy:將項(xiàng)目站點(diǎn)發(fā)布到服務(wù)器
三、命令行和生命周期
各個(gè)生命周期相互獨(dú)立,一個(gè)生命周期的階段前后依賴。
舉例如下:
1、mvn clean
調(diào)用clean生命周期的clean階段,實(shí)際執(zhí)行pre-clean和clean階段
2、mvn test
調(diào)用default生命周期的test階段,實(shí)際執(zhí)行test以及之前所有階段
3、mvn clean install
調(diào)用clean生命周期的clean階段和default的install階段,實(shí)際執(zhí)行pre-clean和clean,install以及之前所有階段
四、m2eclipse和生命周期
1、m2eclipse中預(yù)置的mvn命令
右鍵maven項(xiàng)目或pom.xml文件>Run As 可以看到預(yù)置的mvn命令
2、自定義mvn命令
單擊 上圖中的maven Build...,自定義命令 mvn clean install:
定義完成后,點(diǎn)擊maven Build,可以看到定義好的命令: