国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Maven 生命周期

CoreDump / 2263人閱讀

摘要:生命周期生命周期是為了對所有的構建過程進行抽象和統一,開發了一套高度完善的易擴展的生命周期。生命周期本身不做任何實際的工作,實際的任務都交給插件來完成。生命周期步驟在中,有三套相互獨立的生命周期,分別是和。

Maven 生命周期

Maven 生命周期是為了對所有的構建過程進行抽象和統一,開發了一套高度完善的、易擴展的生命周期。這個生命周期包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎所有構建步驟。

Maven 生命周期本身不做任何實際的工作,實際的任務都交給插件來完成。這樣的設計,既保證了 Maven 整體框架的輕便,也最大程度的擴展性。

Maven 生命周期抽象了構建的各個步驟,明確了它們的邏輯次序,但沒有提供具體的實現,通過插件來完成實際的工作,每個構建步驟都可以綁定一個或者多個插件行為。為了讓 Maven 開箱即用,Maven 為大多數構建步驟編寫并綁定了默認插件。比如針對編譯的插件有 maven-compiler-plugin,針對測試的插件有 maven-surefire-plugin 等。

生命周期步驟

在 Maven 中,有三套相互獨立的生命周期,分別是 cleandefaultsite

clean:clean 生命周期的目的是清理項目;

default:default 生命周期的目的是構建項目;

site:site 生命周期的目的是建立項目站點;

每個生命周期包含一些階段(phase),這些階段是有順序的,并且后面的階段依賴于前面的階段。clean 生命周期為例,它包含的階段有 pre-cleanclean post-clean

當我們調用 pre-clean 的時候,只有 pre-clean 階段執行;

當我們調用clean 的時候,pre-clean clean 階段會按順序執行;

當我們調用 post-clean 的時候,pre-cleanclean post-clean 都會按順序執行;

和生命周期階段的前后依賴關系相比,cleandefaultsite 這三套生命周期本身是相互獨立的,我們可以僅僅調用 clean 生命周期的某個階段,或者僅僅調用 default 生命周期的某個階段,而不會對其它生命周期產生任何影響。

clean 生命周期
階段 執行清理前需要完成的工作
pre-clean 執行清理前需要完成的工作
clean 清理構建生成的文件
post-clean 執行清理后需要完成的工作
default 生命周期
階段 執行清理前需要完成的工作
validate -
initialize -
generate-sources -
process-sources -
generate-resources -
process-resources 處理項目主資源("src/main/resources")文件,如進行變量替換等工作
compile 編譯項目的源碼
process-classes -
generate-test-sources -
process-test-sources 處理項目測試資源("src/test/resources")文件
generate-test-resources -
process-test-resources -
test-compile 編譯項目測試代碼
process-test-classes -
test 使用單元測試框架運行測試,測試代碼不會被打包或部署
prepare-package -
package 打包編譯好的代碼
pre-integration-test -
integration-test -
post-integration-test -
verify 包校驗操作
install 安裝包到Maven本地倉庫
deploy 將包部署到遠程倉庫
site 生命周期
階段 執行清理前需要完成的工作
pre-site 在生成項目站點前執行一些工作
site 生成項目站點文檔
post-site 在生成項目站點后執行一些工作
site-deploy 將生成項目站點發布到服務器上
常用命令詳解

我們通過 Maven 命令行來編譯、測試和打包程序的命令,而這些命令其實就是完成了生命周期的操作。

mvn clean:調用插件完成 clean 生命周期的 clean 階段的操作,實際調用的是 pre-cleanclean 兩個階段;

mvn test:調用 default 生命周期對應的階段的插件,完成從 validatetest 階段的所有操作;

mvn clean install:調用 clean 周期的 clean 階段和 defaultinstall 階段,實際調用的是 pre-cleanclean 以及 validateinstall 階段;

mvn clean deploy site-deploy:調用完整的三個生命周期所有階段(post-clean 不被調用);

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/76273.html

相關文章

  • Maven 實戰

    摘要:的主要思想是約定優于配置。強烈建議遵循以上規范,避免不必要的麻煩。依賴傳遞依賴范圍除了控制,還會對依賴傳遞產生影響。此外還提供了和來進一步管理依賴,分別稱為可選依賴和排除依賴。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平臺的項目管理工具,主要服務于基于Java...

    twohappy 評論0 收藏0
  • 使用 Maven 構建 Java 項目

    摘要:基本配置環境變量環境變量中添加為主目錄在中添加使用阿里云中央倉庫修改根目錄下文件夾中的文件,內容如下創建基于的項目使用命令行創建使用原型插件創建工程。 「博客搬家」 原地址: 簡書 原發表時間: 2017-03-23 Maven 是基于項目對象模型「POM」,可以通過一小段描述信息來管理項目的構建、報告和文檔的軟件項目管理工具。本文總結了 Maven 的基本用法。 1. Maven...

    printempw 評論0 收藏0
  • Maven學習筆記

    摘要:學習筆記先生,您在寫代碼嗎不,我們正在完成一項偉大的工程。于是打算重新學習一下。中央倉庫鏡像為了分擔中央倉庫的流量,提升用戶的訪問速度。生成項目報告,站點,發布站點。修改源碼后也需要逐個手動進行操作。 maven學習筆記 先生,您在寫代碼嗎? 不,我們正在完成一項偉大的工程。 前言 在剛學maven時,我就把maven當作一個引入jar包的工具而已,以前是自己下載jar包,現在是只用...

    tomlingtm 評論0 收藏0
  • Maven實戰筆記

    摘要:但是,這種行為是危險的,所以最佳實踐應該是顯示聲明任何項目中直接用到的依賴。生命周期和插件的生命周期生命周期清理項目。生命周期建立和發布站點,分享項目信息。 坐標和依賴 依賴沖突的調節 當包的依賴產生沖突,如A->B->X(1.0)和A->D-X(2.0),應該引入X的哪一個版本?消解沖突的法則如下: 路徑最近者優先。 如路徑長度一樣,第一聲明者優先。 排除不想要的依賴 在引入第三...

    cyixlq 評論0 收藏0
  • Apache Maven 的介紹和安裝

    摘要:的好處節省空間項目的體積相比傳統項目小很多,因為將包和項目分開了,通過依賴管理來管理包。一鍵構建項目可以完成的工作編譯測試運行打包部署。 Maven 簡介 什么是 Maven Apache Maven,是一個軟件項目管理及自動構建工具,由Apache軟件基金會所提供,一個開源項目,由 Java 開發,并且只是用來管理 Java 項目的。 Maven 的好處 節省空間: Maven ...

    wuyumin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<