多模块项目中的Maven插件配置

时间:2011-05-27 14:27:14

标签: maven-2 maven maven-plugin pom.xml

我正在研究多模块项目。我想在构建其中一个模块后运行我的插件。这个mojo应该只能直接从CLI运行,并且不能连接到阶段,因为在某些我们不希望运行此目标的环境中。

配置我的插件的最佳方法是什么?它应该在父级内配置还是应该在模块内配置?

如果我在父模块和模块中配置它会模块配置覆盖父配置吗?

如果我只在父内部配置它,我可以在模块文件夹中运行它吗?

目前我只在my-module中配置它,我从父文件夹

运行它

mvn -pl my-module groupId:artifactId:myGoal

看起来我必须使用完全限定名称。我想这是因为父母对这个插件一无所知。

1 个答案:

答案 0 :(得分:1)

如果您希望每次构建都执行一次插件,请在Mojo上使用@aggregator注释。这向Maven发出信号仅在Maven构建中执行一次mojo,除非它明确地绑定到生命周期阶段。您可以在Mojo API Specification page.

了解更多信息

如果您想避免声明mojo的完全限定名称,可以在settings.xmlpluginGroups部分配置groupId。您也可以在pom.xmlpluginManagement部分指定它,但我不确定这是否适用于您的用例。