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

自定义Maven插件执行mvn site时验证目标被触发3次问题求助

问题排查及解决步骤

  • 检查插件目标的默认生命周期绑定
    先确认你插件中vrs目标的@Mojo注解配置的默认生命周期阶段是否正确,你可以执行如下命令查看目标的详细配置:
    mvn help:describe -Dplugin={你的插件groupId}:{你的插件artifactId} -Ddetail -Dgoal=vrs
    
    如果该目标没有指定默认绑定阶段,或者误绑定了site生命周期下的多个阶段,就会被多次触发。你可以在execution配置中显式指定唯一的执行阶段,比如绑定到pre-site阶段:
    <execution>
      <id>validate-converters</id>
      <phase>pre-site</phase>
      <goals>
        <goal>vrs</goal>
      </goals>
      <configuration>
        <versionsWarnOnly>true</versionsWarnOnly>
      </configuration>
    </execution>
    
  • 检查生效POM的重复配置
    运行mvn help:effective-pom查看最终生效的POM内容,确认父POM、激活的Profile中是否存在其他绑定了vrs目标的执行配置,哪怕execution id不同,只要目标和绑定阶段匹配就会被执行。
  • 排查插件代码逻辑问题
    在你的vrs目标的执行入口添加日志,输出当前Maven执行上下文的生命周期阶段和执行ID,确认是多次触发了execution,还是单一次execution内你的逻辑重复执行了三次。如果是后者,排查校验逻辑是否存在循环调用、批量处理的重复触发问题。

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

相关产品推荐
方舟 Agent Plan

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

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