教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢(xún)/投訴熱線(xiàn):400-618-4000

Maven的生命周期與插件

更新時(shí)間:2022年01月10日15時(shí)41分 來(lái)源:傳智教育 瀏覽次數:

項目構建生命周期

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

 Maven的生命周期與插件

clean生命周期

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

clean:移除所有上一次構建生成的文件

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

default:構建生命周期

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

initialize(初始化):初始化構建狀態(tài),比如設置屬性值。

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

process-sources(處理源代碼):處理源代碼,比如說(shuō),過(guò)濾任意值。

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

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

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

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

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

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

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

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

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

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

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

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

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

pre-integration-test(集成測試前):在執行集成測試前進(jìn)行必要的動(dòng)作。比如說(shuō),搭建需要的環(huán)境。

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

post-integration-test(集成測試后):在執行集成測試完成后進(jìn)行必要的動(dòng)作。比如說(shuō),清理集成測試環(huán)境。

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

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

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

site構建生命周期

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

site:生成項目的站點(diǎn)文檔

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

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

default構建生命周期

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

initialize(初始化):初始化構建狀態(tài),比如設置屬性值。

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

process-sources(處理源代碼):處理源代碼,比如說(shuō),過(guò)濾任意值。

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

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

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

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

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

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

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

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

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

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

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

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

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

pre-integration-test(集成測試前):在執行集成測試前進(jìn)行必要的動(dòng)作。比如說(shuō),搭建需要的環(huán)境。

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

post-integration-test(集成測試后):在執行集成測試完成后進(jìn)行必要的動(dòng)作。比如說(shuō),清理集成測試環(huán)境。

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

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

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

插件

插件與生命周期內的階段綁定,在執行到對應生命周期時(shí)執行對應的插件功能

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

通過(guò)插件可以自定義其他功能

插件與生命周期內的階段綁定,在執行到對應生命周期時(shí)執行對應的插件功能

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

通過(guò)插件可以自定義其他功能,示例代碼如下:

<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>





猜你喜歡:

Servlet對象的生命周期詳細介紹

servlet的生命周期及servlet常用方法

ResultSet接口中的常用方法

IterationTag接口使用教程

傳智教育java開(kāi)發(fā)培訓

0 分享到:
和我們在線(xiàn)交談!