带有maven模块的自定义mojos



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

不,这是不可能的。

当你用插件目标调用Maven时,它会在执行POM Maven的项目中寻找这个插件的定义。由于你在child2artifactid上执行Maven,并且这个模块没有声明mojoname,所以它不起作用。

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

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

最新更新