2011-05-27 125 views
1

我正在开发多模块项目。我想在构建其中一个模块后运行我的插件。这个mojo应该只能从CLI直接运行,并且不能像在某些我们不想运行此目标的环境中那样附加到阶段。多模块项目中的Maven插件配置

什么是最好的方法来配置我的插件?它应该在家长内配置还是应该在模块内进行配置?

如果我配置它在父母和模块都将模块配置覆盖父配置?

如果我配置它只有在父母将我能够在模块文件夹内运行它?

目前,我有它配置只在我的模块和我运行像这样从父文件夹

MVN -pl我模块的groupId:的artifactId:myGoal

它看起来像我不得不使用完全限定名称。我想这是因为家长不知道这个插件的任何事情。

回答

1

如果您希望插件每次构建执行一次,请在您的Mojo上使用@aggregator注释。这意味着Maven只会在Maven构建中执行一次mojo,除非它明确地绑定到生命周期阶段。您可以通过Mojo API Specification page.

了解更多信息如果您希望避免必须声明mojo的完全限定名称,则可以在settings.xmlpluginGroups部分中配置groupId。您也可以在pom.xmlpluginManagement部分中指定它,但我不确定这适用于您的用例。