Maven 構(gòu)建生命周期

2018-04-20 11:22 更新

Maven教程 - Maven構(gòu)建生命周期


構(gòu)建生命周期是我們用來(lái)構(gòu)建軟件的一系列任務(wù)。 對(duì)于例如,編譯,測(cè)試,測(cè)試更多,包和發(fā)布或部署都是我們需要做的任務(wù)來(lái)構(gòu)建一個(gè)軟件。

Maven構(gòu)建生命周期是我們需要經(jīng)歷的一系列階段完成構(gòu)建軟件。

下表列出了一些構(gòu)建生命周期。

生命周期描述
validate驗(yàn)證項(xiàng)目是否正確,并提供所有必要的信息
compile編譯源代碼
test使用單元測(cè)試來(lái)測(cè)試編譯的源代碼
package采取編譯代碼并將其以可分發(fā)格式(例如JAR)打包
integration-test將包部署到可以運(yùn)行集成測(cè)試的環(huán)境中
verify驗(yàn)證包是否有效并符合質(zhì)量標(biāo)準(zhǔn)
install請(qǐng)將軟件包安裝到本地存儲(chǔ)庫(kù)中
deploy發(fā)布到集成或發(fā)布環(huán)境

Maven有以下三個(gè)標(biāo)準(zhǔn)生命周期:

  • clean
  • default (or build)
  • site

這些構(gòu)建階段按順序執(zhí)行以完成缺省生命周期。

給定上面的構(gòu)建階段,當(dāng)使用默認(rèn)生命周期時(shí),Maven會(huì)

  1. validate the project
  2. compile the sources
  3. run those against the tests
  4. package the binaries (e.g. jar)
  5. run integration tests against that package
  6. verify the package
  7. install the verifed package to the local repository
  8. deploy the installed package in a specified environment

為了做所有這些,你只需要調(diào)用要執(zhí)行的最后一個(gè)構(gòu)建階段,在這種情況下是deploy:

mvn deploy

調(diào)用構(gòu)建階段不僅將執(zhí)行構(gòu)建階段,還將在調(diào)用構(gòu)建階段之前的每個(gè)構(gòu)建階段執(zhí)行。

因此,做

mvn integration-test

將在執(zhí)行每個(gè)構(gòu)建階段(驗(yàn)證,編譯,打包等)之前執(zhí)行集成測(cè)試。

在具有一個(gè)或多個(gè)子項(xiàng)目的多模塊中可以使用相同的命令。 例如:

mvn clean install

此命令將遍歷所有子項(xiàng)目并運(yùn)行clean,然后安裝包括所有前面的步驟。



清潔生命周期參考

pre-clean在實(shí)際項(xiàng)目清潔之前執(zhí)行所需的過(guò)程
clean刪除由上一個(gè)生成生成的所有文件
post-clean執(zhí)行完成項(xiàng)目清潔所需的過(guò)程

默認(rèn)生命周期參考

validate驗(yàn)證項(xiàng)目并確保提供所有必要的信息。
initialize初始化構(gòu)建狀態(tài),設(shè)置屬性或創(chuàng)建目錄。
generate-sources生成任何源代碼。
process-sources處理源代碼。
generate-resources生成資源。
process-resources生成資源。...
compile編譯源代碼。
process-classes后處理生成的文件從編譯。
generate-test-sources生成任何測(cè)試源代碼。
process-test-sources處理測(cè)試源代碼。
generate-test-resources創(chuàng)建測(cè)試資源。
process-test-resources將資源復(fù)制并處理到測(cè)試目標(biāo)目錄中。
test-compile編譯測(cè)試源代碼
process-test-classes后處理從測(cè)試編譯生成的文件。
test使用單元測(cè)試框架運(yùn)行測(cè)試。
prepare-package執(zhí)行在包裝之前準(zhǔn)備包裝所需的任何操作。
package將編譯的代碼封裝為其可分發(fā)格式,例如JAR。
pre-integration-test執(zhí)行集成測(cè)試之前執(zhí)行所需的操作。
integration-test執(zhí)行集成測(cè)試之前執(zhí)行所需的操作。...
post-integration-test執(zhí)行集成測(cè)試后執(zhí)行所需的操作。
verify執(zhí)行集成測(cè)試后執(zhí)行所需的操作。...
install請(qǐng)將軟件包安裝到本地存儲(chǔ)庫(kù)中。
deploy發(fā)布項(xiàng)目。


網(wǎng)站生命周期參考

pre-site在項(xiàng)目現(xiàn)場(chǎng)生成之前執(zhí)行過(guò)程
site生成項(xiàng)目的站點(diǎn)文檔
post-site執(zhí)行過(guò)程以完成站點(diǎn)生成
site-deploy執(zhí)行過(guò)程以完成站點(diǎn)生成...
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)