日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Maven中如何禁止插件(plugin)在子模块(module)上执行

發布時間:2025/3/21 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven中如何禁止插件(plugin)在子模块(module)上执行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

在多模塊工程下,在父工程下執行的插件默認會在其所有的子模塊上也執行一遍,大多數情況下這是合理的,比如像compiler這樣的插件,但是有時候也種行為可能并不是開發人員所期望的,比如使用exec插件調用一個外部腳本或命令,一般來說開發人員只希望在父工程下maven exec:exec來執行一次該命令即可,但在多模塊下,你會發現這個同樣的命令被執行了多次,多出來的執行是在每個子模塊上執行的,于是我們需要一種方法來禁用插件在子模塊上的執行,一般來說兩個方法:

一:查閱插件的文檔,某些插件會主動提供禁用配置,以exec插件為例,如果子模塊想禁用插件可以這樣配置:

<!-- Disable plugin exec running on sub-modules --><plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><version>${exec.version}</version><configuration><skip>true</skip></configuration></plugin>

二:將指定的execution(注意命令行執行的exectuion是default-cli)的phase設置為none,其實這是有點hack的做法,目地是將這個exection綁定到一個不存在的phase上,這樣它就永遠不會被觸發執行了。以jar插件為例:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>${jar.version}</version><executions><execution><id>default-jar</id><phase>none</phase></execution></executions></plugin>

另外,補充一點:對于你exec這樣的插件,雖然插件被禁用了,但是maven的命令行還會輸出INFO信息告知某某模塊的exec被skip了,這些信息會干擾一個外部腳本或命令執行的輸出,所以你可以在maven exec:exec的后面加上-q參數來disable maven的日志信息。

轉載于:https://my.oschina.net/pangzhuzhu/blog/327165

總結

以上是生活随笔為你收集整理的Maven中如何禁止插件(plugin)在子模块(module)上执行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。