關于Maven如何構(gòu)建生命周期
項目構(gòu)建生命周期
Maven的本質(zhì)是一個項目管理工具,將項目開發(fā)和管理過程抽象成一個項目對象模型(POM)。Maven構(gòu)建生命周期描述的是一次構(gòu)建過程經(jīng)歷經(jīng)歷了多少個事件。對項目構(gòu)建的生命周期劃分為3套,其中clean負責清理工作,default負責核心工作,例如編譯,測試,打包,部署等。site負責產(chǎn)生報告,發(fā)布站點等。
clean生命周期
pre-clean:執(zhí)行一些需要在clean之前完成的工作
clean:移除所有上一次構(gòu)建生成的文件
post-clean:執(zhí)行一些需要在clean之后立刻完成的工作
default:構(gòu)建生命周期
- validate(校驗):校驗項目是否正確并且所有必要的信息可以完成項目的構(gòu)建過程。
- initialize(初始化):初始化構(gòu)建狀態(tài),比如設置屬性值。
- generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。
- process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。
- generate-resources(生成資源文件):生成將會包含在項目包中的資源文件。
- process-resources (處理資源文件):復制和處理資源到目標目錄,為打包階段最好準備。
- compile(編譯):編譯項目的源代碼。
- process-classes(處理類文件):處理編譯生成的文件,比如說對Java class文件做字節(jié)碼改善優(yōu)化。
- generate-test-sources(生成測試源代碼):生成包含在編譯階段中的任何測試源代碼。
- process-test-sources(處理測試源代碼):處理測試源代碼,比如說,過濾任意值。
- generate-test-resources(生成測試資源文件):為測試創(chuàng)建資源文件。
- process-test-resources(處理測試資源文件):復制和處理測試資源到目標目錄。
- test-compile(編譯測試源碼):編譯測試源代碼到測試目標目錄。
- process-test-classes(處理測試類文件):處理測試源碼編譯生成的文件。
- test(測試):使用合適的單元測試框架運行測試(Juint是其中之一)。
- prepare-package(準備打包):在實際打包之前,執(zhí)行任何的必要的操作為打包做準備。
- package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。
- pre-integration-test(集成測試前):在執(zhí)行集成測試前進行必要的動作。比如說,搭建需要的環(huán)境。
- integration-test(集成測試):處理和部署項目到可以運行集成測試環(huán)境中。
- post-integration-test(集成測試后):在執(zhí)行集成測試完成后進行必要的動作。比如說,清理集成測試環(huán)境。
- verify(驗證):運行任意的檢查來驗證項目包有效目達到質(zhì)量標準。
- install(安裝):安裝項目包到本地倉庫,這樣項目包可以用作其他本地項目的依賴。
- deploy(部署):將最終的項目包復制到遠程倉庫中與其他開發(fā)者和項目共享。
site構(gòu)建生命周期
- pre-site:執(zhí)行一些需要在生成站點文檔之前完成的工作
- site:生成項目的站點文檔
- post-site:執(zhí)行一些需要在生成站點文檔之后完成的工作,并且為部署做準備
- site-deploy:將生成的站點文檔部署到特定的服務器上
default構(gòu)建生命周期
- validate(校驗):校驗項目是否正確并且所有必要的信息可以完成項目的構(gòu)建過程。
- initialize(初始化):初始化構(gòu)建狀態(tài),比如設置屬性值。
- generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。
- process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。
- generate-resources(生成資源文件):生成將會包含在項目包中的資源文件。
- process-resources (處理資源文件):復制和處理資源到目標目錄,為打包階段最好準備。
- compile(編譯):編譯項目的源代碼。
- process-classes(處理類文件):處理編譯生成的文件,比如說對Java class文件做字節(jié)碼改善優(yōu)化。
- generate-test-sources(生成測試源代碼):生成包含在編譯階段中的任何測試源代碼。
- process-test-sources(處理測試源代碼):處理測試源代碼,比如說,過濾任意值。
- generate-test-resources(生成測試資源文件):為測試創(chuàng)建資源文件。
- process-test-resources(處理測試資源文件):復制和處理測試資源到目標目錄。
- test-compile(編譯測試源碼):編譯測試源代碼到測試目標目錄.
- process-test-classes(處理測試類文件):處理測試源碼編譯生成的文件。
- test(測試):使用合適的單元測試框架運行測試(Juint是其中之一)。
- prepare-package(準備打包):在實際打包之前,執(zhí)行任何的必要的操作為打包做準備。
- package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。
- pre-integration-test(集成測試前):在執(zhí)行集成測試前進行必要的動作。比如說,搭建需要的環(huán)境。
- integration-test(集成測試):處理和部署項目到可以運行集成測試環(huán)境中。
- post-integration-test(集成測試后):在執(zhí)行集成測試完成后進行必要的動作。比如說,清理集成測試環(huán)境。
- verify (驗證)}:運行任意的檢查來驗證項目包有效且達到質(zhì)量標準。
- install(安裝):安裝項目包到本地倉庫,這樣項目包可以用作其他本地項目的依賴。
- deploy(部署):將最終的項目包復制到遠程倉庫中與
插件
插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對應生命周期時執(zhí)行對應的插件功能
默認maven在各個生命周期上綁定有預設的功能
通過插件可以自定義其他功能
插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對應生命周期時執(zhí)行對應的插件功能
默認maven在各個生命周期上綁定有預設的功能
通過插件可以自定義其他功能,示例代碼如下:
<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>
到此這篇關于關于Maven如何構(gòu)建生命周期的文章就介紹到這了,更多相關Maven構(gòu)建生命周期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java使用觀察者模式實現(xiàn)氣象局高溫預警功能示例
這篇文章主要介紹了Java使用觀察者模式實現(xiàn)氣象局高溫預警功能,結(jié)合完整實例形式分析了java觀察者模式實現(xiàn)氣象局高溫預警的相關接口定義、使用、功能操作技巧,并總結(jié)了其設計原則與適用場合,具有一定參考借鑒價值,需要的朋友可以參考下2018-04-04Java如何將ResultSet結(jié)果集遍歷到List中
這篇文章主要介紹了Java如何將ResultSet結(jié)果集遍歷到List中問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02idea項目debug模式啟動,斷點失效,斷點紅點內(nèi)無對勾問題及解決
這篇文章主要介紹了idea項目debug模式啟動,斷點失效,斷點紅點內(nèi)無對勾問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Java8 HashMap鍵與Comparable接口小結(jié)
這篇文章主要介紹了Java8 HashMap鍵與Comparable接口小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01