1. 程式人生 > >Maven學習筆記之maven的生命週期

Maven學習筆記之maven的生命週期

1.  Maven的生命週期 

Maven的生命週期其實是指它對所有的構建過程進行了反覆的推敲、反思,之後總結了一套高度抽象過程。這個過程是高度完善的、容易擴充套件的。基本上包含了專案的清理、初始化、編譯、測試、打包、整合測試、驗證、部署、、站點生成等步驟,幾乎所有的專案生命週期也就這樣。Maven專案週期是一個抽象的概念,這個概念性的東西意味著它並不做任何實質性的事情,也就是說:它就像介面,只定義規範,具體細節它不管。具體的實現細節則交給了Maven的各個豐富的外掛。Maven的外掛機制有可能是跟Eclipse學的,基於一個核心core,定義一堆流程性的東西,讓外掛去實現這些規範。其他組織也可以根據這套規範插入自己的東西,形成有特色化的、自定製的
Maven。 

Maven有三套相互獨立的生命週期,分別是:cleandefaultsiteclean主要是清理專案、defaultMaven最核心的的構建專案、site是生成專案站點。每一個大的生命週期又分為很多個階段。後面的階段依賴於前面的階段,這點有點像Ant的構建依賴。生命週期本身相互獨立,使用者可以僅僅呼叫生命週期的某一個階段,也就是說使用者呼叫了default週期的任何階段,並不會觸發clean週期以及site週期的任何事情。 

2.  Maven生命週期階段詳解 

3大生命週期蘊含著小小的階段,我們按順序看一下 

clean週期: 

pre-clean:準備清理 

clean:真正的清理工作 

post-clean:執行清理後的一些後續工作 

default週期: 

validate:驗證 

initialize:初始化配置 

generate-sources:生成原始碼編譯目錄 

process-sources:處理專案主資原始檔,複製資原始檔到outputclasspath 

generate-resources:生成資源目錄 

process-resources:處理資原始檔 

complie:編譯原始碼 
process-classes:處理編譯後文件 

generate-test-sources:生成測試目錄 

process-test-sources:處理專案測試資原始檔,複製測試資原始檔到
outputclasspath 

generate-test-resources:生成測試資原始檔 

process-test-resources:處理測試資原始檔 

test-compile:編譯測試程式碼 

process-test-classes:處理測試程式碼 

test:單元測試執行測試程式碼 

prepare-package:打包前的準備 

package:將編譯好的程式碼打包成為jar或者war或者ear等等 
pre-integration-test:準備整體測試 

integration-test:整體測試 

post-integration-test:為整體測試收尾 

verify:驗證 
install:安裝到本地Maven庫 
deploy:將最終包部署到遠端Maven倉庫 
site週期: 
pre-site:準備生成站點 

site:生成站點及文件 

post-site:站點收尾 

site-deploy:將生成的站點發布到伺服器上 

比如說在命令列執行了