防止 checkstyle 在特定的 maven 子模块中运行

2022-08-31 19:41:18

我想在pom文件中定义一个checkstyle运行,并让它在所有子模块上运行,除了某些指定的子模块。

换句话说,我需要某种(存在但适用于文件名)但以模块为目标。任何想法有人吗?<excludes>


答案 1

如果您不想更改 pom.xml可以使用 –D 选项从命令行将 skip 设置为 true。这在上面被提到为“在执行中覆盖了 skip 参数”。这与 -Dmaven.test.skip=true 用法非常相似。

mvn site -Dcheckstyle.skip=true

答案 2

将以下内容放入要为其禁用检查样式的项目中:

<project>
  ...
  <properties>
    ...
    <checkstyle.skip>true</checkstyle.skip>
    ...
  </properties>
  ...
</project>

Checkstyle 仍将运行,但会执行无操作...

除非您覆盖maven-checkstyle-plugin的skip参数的默认绑定,在这种情况下,您可以在特定项目中通过以下内容获得相同的效果

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

当然,除非您在执行中覆盖了该参数...但如果你知道那是什么,你也知道解决方案,不会问这个问题;-)skip


推荐