将目标排除在应用于子模块之外?

Exclude goal from being applied to submodules?

我有以下项目结构:

root 
  |___ submodule1
  |___ submodule2
  |___ submodule3 

我有一个自定义插件,其目标是 custom-plugin:custom-plugin,有时我想 运行 单独(不作为阶段的一部分)。

当此目标 运行 作为 root 阶段(它绑定到)的一部分时,它不会应用于子模块。

但是当我将它单独称为 mvn custom-plugin:custom-plugin 时,它会应用于 根模块和子模块 。但是,我希望它仅应用于 root 项目。

添加--non-recursive可以解决问题,但是有什么方法可以直接在pom.xml中指定吗?限制插件目标应用范围为root仅当运行单独设置时

如果一般只想运行主POM中的插件,可以设置

aggregator = true

在插件源代码的@Mojo属性中。