Maven中如何禁止插件(plugin)在子模块(module)上执行
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                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插件為例:
另外,補充一點:對于你exec這樣的插件,雖然插件被禁用了,但是maven的命令行還會輸出INFO信息告知某某模塊的exec被skip了,這些信息會干擾一個外部腳本或命令執行的輸出,所以你可以在maven exec:exec的后面加上-q參數來disable maven的日志信息。
轉載于:https://my.oschina.net/pangzhuzhu/blog/327165
總結
以上是生活随笔為你收集整理的Maven中如何禁止插件(plugin)在子模块(module)上执行的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Scrapy -- 05
- 下一篇: 使用Android Studio搭建An
