You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pom.xml中配置Maven自定义插件goal仅作用于根模块不触发子模块?

Maven 自定义插件仅根模块执行配置方法

可以直接在根pom.xml中完成配置,无需每次执行命令追加--non-recursive参数,核心是关闭插件配置的子模块继承属性。

配置示例

在根模块的pom.xml中找到你的自定义插件声明,添加<inherited>false</inherited>配置即可:

<project>
  <!-- 其余pom配置省略 -->
  <build>
    <plugins>
      <plugin>
        <!-- 替换为你的自定义插件实际groupId、artifactId、version -->
        <groupId>com.example</groupId>
        <artifactId>custom-plugin</artifactId>
        <version>1.0.0</version>
        <inherited>false</inherited>
      </plugin>
    </plugins>
  </build>
</project>

实现原理

Maven全局执行插件goal时,会扫描所有模块中是否存在对应插件的声明,有声明的模块才会执行该goal。<inherited>false</inherited>配置会禁止子模块继承根模块的插件声明,因此只有根模块会匹配到该插件,执行对应goal,子模块会自动跳过。

注意事项

  • 该配置不会影响你已有绑定到生命周期的插件执行逻辑,原生命周期阶段执行时仅根模块生效的规则保持不变
  • 如果后续需要在部分子模块中单独执行该插件,只需在对应子模块的pom.xml中单独声明该插件即可,不会和根模块的配置冲突

内容的提问来源于stack exchange,提问作者sensenkri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:06:03