Maven實(shí)戰(zhàn)(4)生命周期
1. 三套生命周期
Maven擁有三套相互獨(dú)立的生命周期,它們分別為clean,default和site。
每個(gè)生命周期包含一些階段,這些階段是有順序的,并且后面的階段依賴(lài)于前面的階段,用戶(hù)和Maven最直接的交互方式就是調(diào)用這些生命周期階段。
以clean生命周期為例,它包含的階段有pre-clean, clean 和 post clean。當(dāng)用戶(hù)調(diào)用pre-clean的時(shí)候,只有pre-clean得以執(zhí)行,當(dāng)用戶(hù)調(diào)用clean的時(shí)候,pre-clean和clean階段會(huì)得以順序執(zhí)行;當(dāng)用戶(hù)調(diào)用post-clean的時(shí)候,pre-clean,clean,post-clean會(huì)得以順序執(zhí)行。
較之于生命周期階段的前后依賴(lài)關(guān)系,三套生命周期本身是相互獨(dú)立的,用戶(hù)可以?xún)H僅調(diào)用clean生命周期的某個(gè)階段,或者僅僅調(diào)用default生命周期的某個(gè)階段,而不會(huì)對(duì)其他生命周期產(chǎn)生任何影響。
2. clean 生命周期
clean生命周期的目的是清理項(xiàng)目,它包含三個(gè)階段:
1)pre-clean 執(zhí)行一些清理前需要完成的工作。
2)clean 清理上一次構(gòu)建生成的文件。
3)post-clean 執(zhí)行一些清理后需要完成的工作。
3. default 生命周期
default生命周期定義了真正構(gòu)件時(shí)所需要執(zhí)行的所有步驟,它是生命周期中最核心的部分,它包含的階段如下:
1) validate 驗(yàn)證項(xiàng)目是否正確和所有需要的相關(guān)資源是否可用
2) initialize 初始化構(gòu)建
3) generate-sources
4) process-sources 處理源代碼
5) generate-resources
6) process-resources 處理項(xiàng)目主資源文件。對(duì)src/main/resources目錄的內(nèi)容進(jìn)行變量替換等工作后,復(fù)制到項(xiàng)目輸出的主classpath目錄中。
7) compile 編譯項(xiàng)目的主源代碼
8) process-classes
9) generate-test-sources
10) process-test-sources 處理項(xiàng)目測(cè)試資源文件
11)generate-test-resources
12) process-test-resources 處理測(cè)試的資源文件
13)test-compile 編譯項(xiàng)目的測(cè)試代碼
14)process-test-classes
15) test 使用單元測(cè)試框架運(yùn)行測(cè)試,測(cè)試代碼不會(huì)被打包或部署
16)prepare-package 做好打包的準(zhǔn)備
17)package 接受編譯好的代碼,打包成可發(fā)布的格式
18) pre-integration-test
19) integration-test
20) post integration-test
21) verify
22) install 將包安裝到Maven本地倉(cāng)庫(kù),供本地其他Maven項(xiàng)目使用
23)deploy 將最終的包復(fù)制到遠(yuǎn)程倉(cāng)庫(kù),供其他開(kāi)發(fā)人員和Maven項(xiàng)目使用
4. site 生命周期
site生命周期的目的是建立和發(fā)布項(xiàng)目站點(diǎn),Maven能夠基于POM所包含的信息,自動(dòng)生成一個(gè)友好的站點(diǎn),方便團(tuán)隊(duì)交流和發(fā)布項(xiàng)目信息。該生命周期包含如下階段:
1)pre-site 執(zhí)行一些在生成項(xiàng)目站點(diǎn)之前需要完成的工作
2)site 生成項(xiàng)目站點(diǎn)文檔
3)post-site 執(zhí)行一些在生成項(xiàng)目站點(diǎn)之后需要完成的工作
4)site-deploy 將生成的項(xiàng)目站點(diǎn)發(fā)布到服務(wù)器上
posted on 2012-08-23 21:49 奮斗成就男人 閱讀(230) 評(píng)論(0) 編輯 收藏