使用 Maven 模块自定义 mojos
Custom mojos with maven modules
我有一个简单的 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 时,它会在执行 Maven 的项目 POM 中查找此插件的定义。由于您在 child2artifactid
上执行 Maven,并且由于此模块未声明 [=11=],因此它不会工作。
现在想想,你为什么要这样做?调用另一个项目中定义的插件并不是很有用:要么这个项目声明插件,要么你在另一个项目上调用 Maven。
但是请注意,在处理多模块项目时,您通常不想 运行 Maven 在子模块上,而只是在父项目上。
我有一个简单的 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 时,它会在执行 Maven 的项目 POM 中查找此插件的定义。由于您在 child2artifactid
上执行 Maven,并且由于此模块未声明 [=11=],因此它不会工作。
现在想想,你为什么要这样做?调用另一个项目中定义的插件并不是很有用:要么这个项目声明插件,要么你在另一个项目上调用 Maven。
但是请注意,在处理多模块项目时,您通常不想 运行 Maven 在子模块上,而只是在父项目上。