maven多個plugin相同phase的執(zhí)行順序
Maven是項目對象模型(POM),可以通過一小段描述信息來管理項目的構(gòu)建,報告和文檔的項目管理工具軟件。
Maven是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
Maven 有一個生命周期,當你運行 mvn install 的時候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達你指定的生命周期。遍歷生命周期旅途中的一個影響就是,Maven 運行了許多默認的插件目標,這些目標完成了像編譯和創(chuàng)建一個 JAR 文件這樣的工作。
此外,Maven能夠很方便的幫你管理項目報告,生成站點,管理JAR文件,等等
對于maven進行項目構(gòu)建時,我們會使用到插件,對構(gòu)建過程進行一些控制,加工,加密,重寫,依賴打包等工作,一般我們打包時會把phase定為package,意思是說,當進行package動作后,處理你的插件。
多個相同phase的順序
當我們有多個plugin,并且相同phase時,有時需要考慮到順序問題,因為你的plugin可能會有某個其它plugin的結(jié)果的依賴,所以我們需要控制
<plugins> <plugin> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>classfinal-maven-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins>
如上面兩個插件maven-shade-plugin和classfinal-maven-plugin都綁定了package階段,它們的執(zhí)行順序是怎樣的呢?
,答案很清晰:誰放在前面,誰先執(zhí)行!
如圖:
到此這篇關于maven多個plugin相同phase的執(zhí)行順序的文章就介紹到這了,更多相關maven plugin phase執(zhí)行順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章

關于SpringBoot集成Lettuce連接Redis的方法和案例