用法

以下示例描述了 Checkstyle 插件的基本用法。

生成 Checkstyle 报告作为项目报告的一部分

要生成 Checkstyle 报告作为项目报告的一部分,请在pom.xml的<reporting>部分添加 Checkstyle 插件。

<project>
  ...
   <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.1.2</version>
          <reportSets>
            <reportSet>
              <reports>
                <report>checkstyle</report>
              </reports>
            </reportSet>
          </reportSets>
        </plugin>
      </plugins>
    </reporting>
  ...
</project>

然后,执行站点阶段以生成报告。

mvn site

独立生成 Checkstyle 报告

您还可以通过从命令行显式执行checkstyle:checkstyle目标来生成 Checkstyle 报告。除非您想使用特定配置,否则您不需要在pom.xml中指定 Checkstyle 插件。

mvn checkstyle:checkstyle

在构建过程中检查违规行为

如果您想向控制台报告或构建失败,您必须将checkstyle::check的执行添加到<build>元素并配置您需要的任何选项。

您在<reporting>元素中设置的选项对<build>元素中的执行没有任何影响。

注意checkstyle::check绑定的阶段非常重要。如果绑定到验证阶段,它将在编译代码之前检查代码。如果代码无效,则 checkstyle 报告的解析错误可能与 javac 编译器预期的不同。但是,它可以保证运行。另一个流行的选项是将它绑定到稍后运行的验证阶段(并允许 javac 编译器在 checkstyle 之前标记无效代码)。但是,如果开发人员通常只在推送更改之前使用“mvn test”,则 checkstyle 将不会运行,因为 verify 发生在测试阶段之后。

例如:

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-checkstyle-plugin</artifactId>
   <version>3.1.2</version>
   <configuration>
     <configLocation>checkstyle.xml</configLocation>
     <encoding>UTF-8</encoding>
     <consoleOutput>true</consoleOutput>
     <failsOnError>true</failsOnError>
     <linkXRef>false</linkXRef>
   </configuration>
   <executions>
     <execution>
       <id>validate</id>
       <phase>validate</phase>
       <goals>
         <goal>check</goal>
       </goals>
     </execution>
   </executions>
 </plugin>