四.maven構(gòu)建管理

我們執(zhí)行下列命令進(jìn)行構(gòu)建時,其實是跟maven構(gòu)建生命周期有關(guān)
mvn clean package
mvn clean install
mvn clean deploy 。。。。
https://maven.apache.org/plugins/
官網(wǎng)有一句這樣的描述:Maven is - at its heart - a plugin execution framework; all work is done by plugins. maven本質(zhì)是一個插件執(zhí)行框架,所有的工作都有插件來完成。

maven生命周期和plugin.png

上圖是一個default生命周期的簡單版
maven一共有三個生命周期,default,site和clean

1.生命周期的組成

生命周期是有一個個階段(phase)組成,每個phase由plugin和goal綁定
plugin是具體的插件,goal是綁定在插件的目標(biāo),一個插件可以綁定多個goal
我們執(zhí)行mvn package命令 就是執(zhí)行的default生命周期的package之前的所有phase包含package,例如package前面的驗證 編譯 測試 等和package各個phase都會執(zhí)行。
當(dāng)然最終完成執(zhí)行任務(wù)的是一個個plugan:goal。
也就是說生命周期由一個個phase組成,phase又由一個個plugin組成,plugin上又綁定了具體的goal

2.多生命周期

多個生命周期可以共同執(zhí)行(也是必須按順序)
我們執(zhí)行mvn clean package時實際上運(yùn)行clean和default兩個生命周期中的多個phase。

3.特殊plugin

一些特殊的命令 例如 mvn dependcy:tree 這是直接運(yùn)行dependcy這個plugin的tree goal,非任何生命周期。

4.增強(qiáng)maven功能

maven提供了一些內(nèi)置的plugin,綁定到了phase上,如果我們需要另外的plugin來增加maven的功能,可以綁定到phase上。例如

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1.1</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <phase>verify</phase>
                    <goals>

                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

運(yùn)行mvn verify就能看到一個包含源碼的jar包 綁定到了verify這個phase上
平時我們需要增強(qiáng)擴(kuò)展maven的功能需要一些其它的插件,可以去官網(wǎng)找
http://maven.apache.org/plugins/index.html maven官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Maven 介紹 Maven 翻譯為"專家"、"內(nèi)行"它是 Apache 下的一個純 Java 開發(fā)的開源項目...
    Tian_Peng閱讀 860評論 0 0
  • maven eclipse配置: 切換鏡像:在windows--preference--maven--user s...
    月明星稀_8184閱讀 581評論 0 0
  • 在了解Maven的生命周期(lifecycle)之前,我們需要先了解Maven的Plugin與goal 通過上一篇...
    qingshuiting閱讀 9,730評論 1 2
  • 官方文檔:http://maven.apache.org/guides/introduction/introduc...
    icecrea閱讀 2,222評論 0 2
  • 經(jīng)過Maven生命周期的學(xué)習(xí),我們知道在Maven core中僅僅定義了抽象的生命周期,具體的實現(xiàn)是由插件完成的,...
    SonyaBaby閱讀 1,404評論 0 3

友情鏈接更多精彩內(nèi)容