0

我有一个简单的 Maven 多模块项目

Parent project
     ---Child project 1
     ---Child project 2 (depends on child project 1)

在第一个项目中,我定义了一个自定义 MOJO,我可以这样调用 com.mycompany:child1artifactid:mojoname

是否可以从子项目中调用相同的 mojo,因为它是一个依赖项并捆绑为第二个项目的 jar? com.mycompany:child2artifactid:mojoname

4

1 回答 1

1

不,这是不可能的。

当您使用插件目标调用 Maven 时,它会在执行 Maven 的项目 POM 中查找此插件的定义。由于您在 上执行 Maven child2artifactid,并且由于此模块未声明mojoname,因此它将无法工作。

现在想一想,你为什么要这么做?调用在另一个项目中定义的插件并不是很有用:要么这个项目声明了插件,要么你在另一个项目上调用 Maven。

但是请注意,在处理多模块项目时,您通常不想在子模块上运行 Maven,而只是在父项目上运行。

于 2015-11-17T07:19:08.417 回答