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

如何让tidy与spotless Maven插件统一或忽略pom.xml注释格式?

解决Spotless与Tidy Maven插件对pom.xml注释格式的冲突问题

我正在试用Maven插件对长期未规范格式化的pom.xml进行校验格式化。发现spotless-maven-plugin可通过执行mvn spotless:apply处理,tidy-maven-plugin可执行mvn tidy:pom处理。两者都能识别pom.xml内容问题,但对注释格式要求不一致:spotless要求多行注释块换行起始,tidy要求注释与标签同行。我希望让这两个插件忽略注释格式或采用统一的处理方式,当前spotless插件配置如下:

<!-- mvn spotless:check by default is mapped to mvn verify (verify lifecycle phase)-->
<plugin>
  <groupId>com.diffplug.spotless</groupId>
  <artifactId>spotless-maven-plugin</artifactId>
  <version>2.30.0</version>
  <configuration>
    <java>
      <googleJavaFormat></googleJavaFormat>
    </java>
    <pom>
      <sortPom>
        <!-- see https://github.com/diffplug/spotless/blob/main/plugin-maven/README.md#sortpom -->
      </sortPom>
    </pom>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
</plugin>

方案1:让Spotless忽略注释格式

Spotless的pom格式化依赖SortPom,可通过配置禁用注释格式化,保留原有注释格式:

<pom>
  <sortPom>
    <!-- 禁用注释格式化逻辑 -->
    <formatComments>false</formatComments>
    <!-- 可选:完全跳过注释的处理,保留位置与格式 -->
    <skipComments>true</skipComments>
  </sortPom>
</pom>

方案2:让Tidy Maven插件忽略注释格式

调整tidy-maven-plugin配置,使其不处理注释格式:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tidy-maven-plugin</artifactId>
  <version>1.2.3</version>
  <configuration>
    <ignoreComments>true</ignoreComments>
  </configuration>
</plugin>

方案3:统一注释格式兼容两者

如果需要保留注释格式化,可统一注释风格适配两个插件:

  • 单行注释:使用<!-- 注释内容 -->与标签同行,同时兼容Spotless和Tidy的要求。
  • 多行注释:将注释块单独换行,示例:
<!--
多行注释内容
第二行注释文本
-->
<groupId>com.diffplug.spotless</groupId>

同时调整Tidy配置允许多行注释换行:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tidy-maven-plugin</artifactId>
  <version>1.2.3</version>
  <configuration>
    <multilineComments>true</multilineComments>
  </configuration>
</plugin>

内容的提问来源于stack exchange,提问作者Paul Verest on LinkedIn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:58:42