簡體   English   中英

maven插件目標

[英]maven plugin goals

我正在開發一個Maven插件,它將提供5個目標。 您可以單獨執行目標1-4,也可以執行goal5,它將按順序執行目標1-4。 我一直在尋找一種方法來重用(即調用)另一個Maven目標,但還沒有找到它。

當然,我可以將goalX委托給ClassX以獲得大部分功能,然后當調用goal5時,它會委托給Class1 ... Class4,但是在指定,讀取和驗證方面仍然需要一定數量的代碼重復。每個目標的配置。

有沒有辦法在另一個目標中重用一個目標?

謝謝,唐

有沒有辦法在另一個目標中重用一個目標?

AFAIK,Maven API沒有為此提供任何便利,因為Maven人員不想推廣導致插件之間強耦合的做法,這被認為是壞的。 您將在Re:在另一個插件中調用插件中找到相關背景

話雖如此,這篇博文顯示了如何實例化Mojo並使用反射在調用execute之前設置其字段。

您可能還想檢查mojo-executor庫。

但一定要閱讀提到的帖子,我認為這很重要。

當然,我可以將goalX委托給ClassX以獲得大部分功能,然后當調用goal5時,它會委托給Class1 ... Class4,但是在指定,讀取和驗證方面仍然需要一定數量的代碼重復。每個目標的配置。

那么為什么不為目標驗證提供其他類的公共類? 我認為這里最簡單的方法是讓一個目標在你的代碼中調用另一個目標。

“Maven思維模式”似乎是配置是pom.xml作者的責任,而不是Mojo實現者。 如果將所有配置等移動到公共基類中,最終會繞過此機制。

這聽起來像你想要的子項目:你的每個目標1-4都存在於他們自己的項目中,或者你可以運行目標5,它們運行它們。 也許這可能會有所幫助?: http//iproving.com/space/Technologies/Maven/Maven+Recipes/Split+Your+Project+Into+Sub-Projects

如果您的源代碼樹沒有很好地沿項目行拆分,您可能可以對配置文件執行某些操作(盡管我沒有嘗試過這個)。 在這里查看接受的答案: 如何將插件目標綁定到另一個插件目標

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM