自定义mojos与maven模块

时间:2015-11-17 03:11:35

标签: maven module mojo maven-module

我有一个简单的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

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。

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

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

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