關(guān)于Maven如何構(gòu)建生命周期
項(xiàng)目構(gòu)建生命周期
Maven的本質(zhì)是一個(gè)項(xiàng)目管理工具,將項(xiàng)目開發(fā)和管理過程抽象成一個(gè)項(xiàng)目對(duì)象模型(POM)。Maven構(gòu)建生命周期描述的是一次構(gòu)建過程經(jīng)歷經(jīng)歷了多少個(gè)事件。對(duì)項(xiàng)目構(gòu)建的生命周期劃分為3套,其中clean負(fù)責(zé)清理工作,default負(fù)責(zé)核心工作,例如編譯,測(cè)試,打包,部署等。site負(fù)責(zé)產(chǎn)生報(bào)告,發(fā)布站點(diǎn)等。

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

default:構(gòu)建生命周期
- validate(校驗(yàn)):校驗(yàn)項(xiàng)目是否正確并且所有必要的信息可以完成項(xiàng)目的構(gòu)建過程。
- initialize(初始化):初始化構(gòu)建狀態(tài),比如設(shè)置屬性值。
- generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。
- process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。
- generate-resources(生成資源文件):生成將會(huì)包含在項(xiàng)目包中的資源文件。
- process-resources (處理資源文件):復(fù)制和處理資源到目標(biāo)目錄,為打包階段最好準(zhǔn)備。
- compile(編譯):編譯項(xiàng)目的源代碼。
- process-classes(處理類文件):處理編譯生成的文件,比如說對(duì)Java class文件做字節(jié)碼改善優(yōu)化。
- generate-test-sources(生成測(cè)試源代碼):生成包含在編譯階段中的任何測(cè)試源代碼。
- process-test-sources(處理測(cè)試源代碼):處理測(cè)試源代碼,比如說,過濾任意值。
- generate-test-resources(生成測(cè)試資源文件):為測(cè)試創(chuàng)建資源文件。
- process-test-resources(處理測(cè)試資源文件):復(fù)制和處理測(cè)試資源到目標(biāo)目錄。
- test-compile(編譯測(cè)試源碼):編譯測(cè)試源代碼到測(cè)試目標(biāo)目錄。
- process-test-classes(處理測(cè)試類文件):處理測(cè)試源碼編譯生成的文件。
- test(測(cè)試):使用合適的單元測(cè)試框架運(yùn)行測(cè)試(Juint是其中之一)。
- prepare-package(準(zhǔn)備打包):在實(shí)際打包之前,執(zhí)行任何的必要的操作為打包做準(zhǔn)備。
- package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。
- pre-integration-test(集成測(cè)試前):在執(zhí)行集成測(cè)試前進(jìn)行必要的動(dòng)作。比如說,搭建需要的環(huán)境。
- integration-test(集成測(cè)試):處理和部署項(xiàng)目到可以運(yùn)行集成測(cè)試環(huán)境中。
- post-integration-test(集成測(cè)試后):在執(zhí)行集成測(cè)試完成后進(jìn)行必要的動(dòng)作。比如說,清理集成測(cè)試環(huán)境。
- verify(驗(yàn)證):運(yùn)行任意的檢查來驗(yàn)證項(xiàng)目包有效目達(dá)到質(zhì)量標(biāo)準(zhǔn)。
- install(安裝):安裝項(xiàng)目包到本地倉(cāng)庫(kù),這樣項(xiàng)目包可以用作其他本地項(xiàng)目的依賴。
- deploy(部署):將最終的項(xiàng)目包復(fù)制到遠(yuǎn)程倉(cāng)庫(kù)中與其他開發(fā)者和項(xiàng)目共享。
site構(gòu)建生命周期
- pre-site:執(zhí)行一些需要在生成站點(diǎn)文檔之前完成的工作
- site:生成項(xiàng)目的站點(diǎn)文檔
- post-site:執(zhí)行一些需要在生成站點(diǎn)文檔之后完成的工作,并且為部署做準(zhǔn)備
- site-deploy:將生成的站點(diǎn)文檔部署到特定的服務(wù)器上
default構(gòu)建生命周期
- validate(校驗(yàn)):校驗(yàn)項(xiàng)目是否正確并且所有必要的信息可以完成項(xiàng)目的構(gòu)建過程。
- initialize(初始化):初始化構(gòu)建狀態(tài),比如設(shè)置屬性值。
- generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。
- process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。
- generate-resources(生成資源文件):生成將會(huì)包含在項(xiàng)目包中的資源文件。
- process-resources (處理資源文件):復(fù)制和處理資源到目標(biāo)目錄,為打包階段最好準(zhǔn)備。
- compile(編譯):編譯項(xiàng)目的源代碼。
- process-classes(處理類文件):處理編譯生成的文件,比如說對(duì)Java class文件做字節(jié)碼改善優(yōu)化。
- generate-test-sources(生成測(cè)試源代碼):生成包含在編譯階段中的任何測(cè)試源代碼。
- process-test-sources(處理測(cè)試源代碼):處理測(cè)試源代碼,比如說,過濾任意值。
- generate-test-resources(生成測(cè)試資源文件):為測(cè)試創(chuàng)建資源文件。
- process-test-resources(處理測(cè)試資源文件):復(fù)制和處理測(cè)試資源到目標(biāo)目錄。
- test-compile(編譯測(cè)試源碼):編譯測(cè)試源代碼到測(cè)試目標(biāo)目錄.
- process-test-classes(處理測(cè)試類文件):處理測(cè)試源碼編譯生成的文件。
- test(測(cè)試):使用合適的單元測(cè)試框架運(yùn)行測(cè)試(Juint是其中之一)。
- prepare-package(準(zhǔn)備打包):在實(shí)際打包之前,執(zhí)行任何的必要的操作為打包做準(zhǔn)備。
- package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。
- pre-integration-test(集成測(cè)試前):在執(zhí)行集成測(cè)試前進(jìn)行必要的動(dòng)作。比如說,搭建需要的環(huán)境。
- integration-test(集成測(cè)試):處理和部署項(xiàng)目到可以運(yùn)行集成測(cè)試環(huán)境中。
- post-integration-test(集成測(cè)試后):在執(zhí)行集成測(cè)試完成后進(jìn)行必要的動(dòng)作。比如說,清理集成測(cè)試環(huán)境。
- verify (驗(yàn)證)}:運(yùn)行任意的檢查來驗(yàn)證項(xiàng)目包有效且達(dá)到質(zhì)量標(biāo)準(zhǔn)。
- install(安裝):安裝項(xiàng)目包到本地倉(cāng)庫(kù),這樣項(xiàng)目包可以用作其他本地項(xiàng)目的依賴。
- deploy(部署):將最終的項(xiàng)目包復(fù)制到遠(yuǎn)程倉(cāng)庫(kù)中與
插件
插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對(duì)應(yīng)生命周期時(shí)執(zhí)行對(duì)應(yīng)的插件功能
默認(rèn)maven在各個(gè)生命周期上綁定有預(yù)設(shè)的功能
通過插件可以自定義其他功能
插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對(duì)應(yīng)生命周期時(shí)執(zhí)行對(duì)應(yīng)的插件功能
默認(rèn)maven在各個(gè)生命周期上綁定有預(yù)設(shè)的功能
通過插件可以自定義其他功能,示例代碼如下:
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-source-plugin</artifactid>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>到此這篇關(guān)于關(guān)于Maven如何構(gòu)建生命周期的文章就介紹到這了,更多相關(guān)Maven構(gòu)建生命周期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot+thymeleaf找不到視圖的解決方案
這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
詳解Java中AC自動(dòng)機(jī)的原理與實(shí)現(xiàn)
AC自動(dòng)機(jī)是一個(gè)多模式匹配算法,在模式匹配領(lǐng)域被廣泛應(yīng)用。本文將詳細(xì)為大家介紹AC自動(dòng)機(jī)的原理與實(shí)現(xiàn)方法,感興趣的可以了解一下2022-05-05
關(guān)于CommandLineRunner的使用詳解
本文介紹了如何在SpringBoot項(xiàng)目啟動(dòng)時(shí)使用CommandLineRunner和ApplicationRunner接口進(jìn)行數(shù)據(jù)預(yù)加載或操作,通過實(shí)現(xiàn)這兩個(gè)接口,可以在項(xiàng)目啟動(dòng)時(shí)執(zhí)行特定的任務(wù),同時(shí),還展示了如何使用@Order注解來控制多個(gè)實(shí)現(xiàn)類的加載順序2024-12-12
Spring Data JPA 關(guān)鍵字Exists的用法說明
這篇文章主要介紹了Spring Data JPA 關(guān)鍵字Exists的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
JMeter連接Mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
本文主要介紹了JMeter操作Mysql數(shù)據(jù)庫(kù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
java web開發(fā)中獲取tomcat上properties文件內(nèi)容的方法
java web開發(fā)中如何獲取tomcat上properties文件內(nèi)容的方法,方便文件存儲(chǔ)位置的修改,解耦和,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07

