欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你了解Maven的生命周期

 更新時(shí)間:2022年01月23日 10:18:09   作者:YSOcean  
這篇文章主要為大家介紹了Maven的生命周期?,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

1、什么是 生命周期?

Maven 強(qiáng)大的原因是有一個(gè)十分完善的生命周期,生命周期可以理解為項(xiàng)目構(gòu)建步驟的集合,它定義了各個(gè)構(gòu)建環(huán)節(jié)的執(zhí)行順序,有了這個(gè)順序,Maven 就可以自動(dòng)化的執(zhí)行構(gòu)建命令。

Maven的核心程序中定義了抽象的生命周期,生命周期中各個(gè)階段的具體任務(wù)是由插件來(lái)完成的。有三套相互獨(dú)立的生命周期,各個(gè)構(gòu)建環(huán)節(jié)執(zhí)行順序不能打亂,必須按照既定的正確順序來(lái)執(zhí)行。

  • ①、Clean Lifecycle:在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作
  • ②、Default Lifecycle:構(gòu)建的核心部分,編譯、測(cè)試、打包、安裝、部署等等。
  • ③、Site Lifecycle:生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。

這三個(gè)都是相互獨(dú)立的。你可以僅僅調(diào)用 clean 來(lái)清理工作目錄,僅僅調(diào)用 site 來(lái)生成站點(diǎn)。當(dāng)然,也可以直接運(yùn)行 mvn claen install site 運(yùn)行所有這三套生命周期。下面我們分別來(lái)談?wù)勥@三個(gè)生命周期。

2、Clean Lifecycle:在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作

pre-clean 執(zhí)行一些需要在clean之前完成的工作
clean 移除所有上一次構(gòu)建生成的文件
post-clean 執(zhí)行一些需要在clean之后立刻完成的工作

我們前面講的執(zhí)行命令 mvn -clean,也就等同于 Clean 生命周期中的第一個(gè)階段 mvn pre-clean clean。注意有 Clean 聲明周期,而這個(gè)聲明周期中又有 clean 階段。

只要執(zhí)行后面的命令,那么前面的命令都會(huì)執(zhí)行,不需要再重新去輸入命令。

3、Default Lifecycle:構(gòu)建的核心部分,編譯、測(cè)試、打包、安裝、部署等等

validate 
generate-sources 
process-sources 
generate-resources 
process-resources 復(fù)制并處理資源文件,至目標(biāo)目錄,準(zhǔn)備打包。 
compile 編譯項(xiàng)目的源代碼。 
process-classes 
generate-test-sources 
process-test-sources 
generate-test-resources 
process-test-resources 復(fù)制并處理資源文件,至目標(biāo)測(cè)試目錄。 
test-compile 編譯測(cè)試源代碼。 
process-test-classes 
test 使用合適的單元測(cè)試框架運(yùn)行測(cè)試。這些測(cè)試代碼不會(huì)被打包或部署。 
prepare-package 
package 接受編譯好的代碼,打包成可發(fā)布的格式,如 JAR 。 
pre-integration-test 
integration-test 
post-integration-test 
verify 
install 將包安裝至本地倉(cāng)庫(kù),以讓其它項(xiàng)目依賴。 
deploy 將最終的包復(fù)制到遠(yuǎn)程的倉(cāng)庫(kù),以讓其它開發(fā)人員與項(xiàng)目共享。

這里我們強(qiáng)調(diào)一下:在maven中,只要在同一個(gè)生命周期,你執(zhí)行后面的階段,那么前面的階段也會(huì)被執(zhí)行,而且不需要額外去輸入前面的階段。

我們舉個(gè)例子:執(zhí)行 mven compile 命令,根據(jù)上面的聲明周期,它會(huì)默認(rèn)執(zhí)行前面五個(gè)個(gè)步驟也就是   

validate
generate-sources
process-sources
generate-resources
process-resources 復(fù)制并處理資源文件,至目標(biāo)目錄,準(zhǔn)備打包。
compile 編譯項(xiàng)目的源代碼。

我們?cè)?eclipse 中執(zhí)行 mvn compile 命令

看到紅色框的兩部分,第一個(gè)maven-compiler-plugin:2.6:resource 就是用來(lái)執(zhí)行前面幾個(gè)步驟的插件,第二個(gè)插件 maven-compiler-plugin:3.1:compile 則是用來(lái)執(zhí)行 mvn compile 的插件。這里我們提一下,mvn 的各個(gè)生命周期步驟都是依賴插件來(lái)完成的,后面我們會(huì)詳細(xì)講解 maven 插件。

4、Site Lifecycle:生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。

pre-site 執(zhí)行一些需要在生成站點(diǎn)文檔之前完成的工作
site 生成項(xiàng)目的站點(diǎn)文檔
post-site 執(zhí)行一些需要在生成站點(diǎn)文檔之后完成的工作,并且為部署做準(zhǔn)備
site-deploy 將生成的站點(diǎn)文檔部署到特定的服務(wù)器上

這里經(jīng)常用到的是 site 階段和 site-deploy 階段,用來(lái)生成和發(fā)布 maven 站點(diǎn),這是 Maven 比較強(qiáng)大的功能,文檔及統(tǒng)計(jì)數(shù)據(jù)自動(dòng)生成。由于現(xiàn)在的系統(tǒng)會(huì)有專門工具來(lái)生成文檔或報(bào)表。所以這個(gè)功能也是比較雞肋吧,不夠簡(jiǎn)潔和美觀,用的不太多。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java使用OpenCV3.2實(shí)現(xiàn)視頻讀取與播放

    Java使用OpenCV3.2實(shí)現(xiàn)視頻讀取與播放

    這篇文章主要為大家詳細(xì)介紹了Java使用OpenCV3.2實(shí)現(xiàn)視頻讀取與播放,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • SpringSecurity實(shí)現(xiàn)動(dòng)態(tài)權(quán)限校驗(yàn)的過(guò)程

    SpringSecurity實(shí)現(xiàn)動(dòng)態(tài)權(quán)限校驗(yàn)的過(guò)程

    Spring Security過(guò)濾器鏈中,AuthorizationFilter的authorizationManager是我們要找的組件,該組件的check方法已被棄用,推薦使用authorize方法,最終通過(guò)接口路徑和權(quán)限進(jìn)行校驗(yàn),本文給大家介紹SpringSecurity實(shí)現(xiàn)動(dòng)態(tài)權(quán)限校驗(yàn)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2025-02-02
  • Spring @Conditional注解講解及示例詳解

    Spring @Conditional注解講解及示例詳解

    這篇文章主要介紹了Spring @Conditional注解講解及示例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • MyBatis 如何簡(jiǎn)化的 JDBC(思路詳解)

    MyBatis 如何簡(jiǎn)化的 JDBC(思路詳解)

    MyBatis 是一個(gè) 持久層 框架,用于 簡(jiǎn)化JDBC開發(fā),這篇文章主要介紹了MyBatis 如何簡(jiǎn)化的 JDBC(思路詳解),需要的朋友可以參考下
    2023-03-03
  • IDEA 配置 JRebel 熱部署的方法(推薦)

    IDEA 配置 JRebel 熱部署的方法(推薦)

    這篇文章主要介紹了IDEA 配置 JRebel 熱部署的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Java 基礎(chǔ)語(yǔ)法之解析 Java 的包和繼承

    Java 基礎(chǔ)語(yǔ)法之解析 Java 的包和繼承

    包是組織類的一種方式,繼承顧名思義,比如誰(shuí)繼承了長(zhǎng)輩的產(chǎn)業(yè),其實(shí)這里的繼承和我們生活中的繼承很類似,下面文字將為大家詳細(xì)介紹Java的包和繼承
    2021-09-09
  • 一次java異步任務(wù)的實(shí)戰(zhàn)記錄

    一次java異步任務(wù)的實(shí)戰(zhàn)記錄

    最近做項(xiàng)目的時(shí)候遇到了一個(gè)小問題,從前臺(tái)提交到服務(wù)端A,A調(diào)用服務(wù)端B處理超時(shí),下面這篇文章主要給大家介紹了一次java異步任務(wù)的實(shí)戰(zhàn)記錄,需要的朋友可以參考下
    2022-05-05
  • Spring?Security+JWT簡(jiǎn)述(附源碼)

    Spring?Security+JWT簡(jiǎn)述(附源碼)

    SpringSecurity是一個(gè)強(qiáng)大的可高度定制的認(rèn)證和授權(quán)框架,對(duì)于Spring應(yīng)用來(lái)說(shuō)它是一套Web安全標(biāo)準(zhǔn),下面這篇文章主要給大家介紹了關(guān)于Spring?Security+JWT簡(jiǎn)述的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • IDEA配置碼云Gitee的使用詳解

    IDEA配置碼云Gitee的使用詳解

    這篇文章主要介紹了IDEA配置碼云Gitee的使用,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 23種設(shè)計(jì)模式(19)java責(zé)任鏈模式

    23種設(shè)計(jì)模式(19)java責(zé)任鏈模式

    這篇文章主要為大家詳細(xì)介紹了23種設(shè)計(jì)模式之java責(zé)任鏈模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論