繁体   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