溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2023-04-26 11:04:46 來源:億速云 閱讀:90 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Maven怎么構(gòu)建生命周期的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇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ā)布站點等。

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

clean生命周期

pre-clean:執(zhí)行一些需要在clean之前完成的工作

clean:移除所有上一次構(gòu)建生成的文件

post-clean:執(zhí)行一些需要在clean之后立刻完成的工作

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

default:構(gòu)建生命周期

  1. validate(校驗):校驗項目是否正確并且所有必要的信息可以完成項目的構(gòu)建過程。

  2. initialize(初始化):初始化構(gòu)建狀態(tài),比如設(shè)置屬性值。

  3. generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。

  4. process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。

  5. generate-resources(生成資源文件):生成將會包含在項目包中的資源文件。

  6. process-resources (處理資源文件):復(fù)制和處理資源到目標目錄,為打包階段最好準備。

  7. compile(編譯):編譯項目的源代碼。

  8. process-classes(處理類文件):處理編譯生成的文件,比如說對Java class文件做字節(jié)碼改善優(yōu)化。

  9. generate-test-sources(生成測試源代碼):生成包含在編譯階段中的任何測試源代碼。

  10. process-test-sources(處理測試源代碼):處理測試源代碼,比如說,過濾任意值。

  11. generate-test-resources(生成測試資源文件):為測試創(chuàng)建資源文件。

  12. process-test-resources(處理測試資源文件):復(fù)制和處理測試資源到目標目錄。

  13. test-compile(編譯測試源碼):編譯測試源代碼到測試目標目錄。

  14. process-test-classes(處理測試類文件):處理測試源碼編譯生成的文件。

  15. test(測試):使用合適的單元測試框架運行測試(Juint是其中之一)。

  16. prepare-package(準備打包):在實際打包之前,執(zhí)行任何的必要的操作為打包做準備。

  17. package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。

  18. pre-integration-test(集成測試前):在執(zhí)行集成測試前進行必要的動作。比如說,搭建需要的環(huán)境。

  19. integration-test(集成測試):處理和部署項目到可以運行集成測試環(huán)境中。

  20. post-integration-test(集成測試后):在執(zhí)行集成測試完成后進行必要的動作。比如說,清理集成測試環(huán)境。

  21. verify(驗證):運行任意的檢查來驗證項目包有效目達到質(zhì)量標準。

  22. install(安裝):安裝項目包到本地倉庫,這樣項目包可以用作其他本地項目的依賴。

  23. deploy(部署):將最終的項目包復(fù)制到遠程倉庫中與其他開發(fā)者和項目共享。

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

  • pre-site:執(zhí)行一些需要在生成站點文檔之前完成的工作

  • site:生成項目的站點文檔

  • post-site:執(zhí)行一些需要在生成站點文檔之后完成的工作,并且為部署做準備

  • site-deploy:將生成的站點文檔部署到特定的服務(wù)器

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

  1. validate(校驗):校驗項目是否正確并且所有必要的信息可以完成項目的構(gòu)建過程。

  2. initialize(初始化):初始化構(gòu)建狀態(tài),比如設(shè)置屬性值。

  3. generate-sources(生成源代碼):生成包含在編譯階段中的任何源代碼。

  4. process-sources(處理源代碼):處理源代碼,比如說,過濾任意值。

  5. generate-resources(生成資源文件):生成將會包含在項目包中的資源文件。

  6. process-resources (處理資源文件):復(fù)制和處理資源到目標目錄,為打包階段最好準備。

  7. compile(編譯):編譯項目的源代碼。

  8. process-classes(處理類文件):處理編譯生成的文件,比如說對Java class文件做字節(jié)碼改善優(yōu)化。

  9. generate-test-sources(生成測試源代碼):生成包含在編譯階段中的任何測試源代碼。

  10. process-test-sources(處理測試源代碼):處理測試源代碼,比如說,過濾任意值。

  11. generate-test-resources(生成測試資源文件):為測試創(chuàng)建資源文件。

  12. process-test-resources(處理測試資源文件):復(fù)制和處理測試資源到目標目錄。

  13. test-compile(編譯測試源碼):編譯測試源代碼到測試目標目錄.

  14. process-test-classes(處理測試類文件):處理測試源碼編譯生成的文件。

  15. test(測試):使用合適的單元測試框架運行測試(Juint是其中之一)。

  16. prepare-package(準備打包):在實際打包之前,執(zhí)行任何的必要的操作為打包做準備。

  17. package(打包):將編譯后的代碼打包成可分發(fā)格式的文件,比如JAR、WAR或者EAR文件。

  18. pre-integration-test(集成測試前):在執(zhí)行集成測試前進行必要的動作。比如說,搭建需要的環(huán)境。

  19. integration-test(集成測試):處理和部署項目到可以運行集成測試環(huán)境中。

  20. post-integration-test(集成測試后):在執(zhí)行集成測試完成后進行必要的動作。比如說,清理集成測試環(huán)境。

  21. verify (驗證)}:運行任意的檢查來驗證項目包有效且達到質(zhì)量標準。

  22. install(安裝):安裝項目包到本地倉庫,這樣項目包可以用作其他本地項目的依賴。

  23. deploy(部署):將最終的項目包復(fù)制到遠程倉庫中與

插件

插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對應(yīng)生命周期時執(zhí)行對應(yīng)的插件功能

默認maven在各個生命周期上綁定有預(yù)設(shè)的功能

通過插件可以自定義其他功能

插件與生命周期內(nèi)的階段綁定,在執(zhí)行到對應(yīng)生命周期時執(zhí)行對應(yīng)的插件功能

默認maven在各個生命周期上綁定有預(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)于“Maven怎么構(gòu)建生命周期”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Maven怎么構(gòu)建生命周期”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI