0

我在我的 pom.xml 文件中包含了 maven 检查样式报告插件,如下所示

<reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.10</version>
            </plugin>
        </plugins>
    </reporting>

我正在使用 eclipse 进行开发,并从这里获得了 maven java 编码约定。现在,如果我格式化所有代码并运行 mvn 站点工具,它仍然会报告检查样式错误。有什么办法可以格式化我的代码以通过我的代码中的所有检查样式错误?

编辑 我在我的项目的根目录中放置了一个检查样式抑制.xml 文件。这包含以下内容

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
     "-//Puppy Crawl//DTD Suppressions 1.0//EN"
     "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">

<suppressions>
  <suppress checks="JavadocStyleCheck"
             files=*.java"
             lines="0-99999999"/>
  
</suppressions>

然后我在我的 pom.xml 文件中将其配置为

<reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <suppressionsLocation>
                        checkstyle-suppressions.xml
                    </suppressionsLocation>
                    <suppressionsFileExpression>
                        checkstyle.suppressions.file
                    </suppressionsFileExpression>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

我希望在 mvn 站点生成期间跳过 java doc checkstyle 错误。但我仍然收到这个?我究竟做错了什么 ?

亲切的问候

4

1 回答 1

0

使用抑制过滤器告诉我们

Checkstyle 允许定义应禁止报告任何违规的文件列表及其行范围(称为抑制过滤器)。

示例:checkstyle-suppressions.xml

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
     "-//Puppy Crawl//DTD Suppressions 1.0//EN"
     "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">

<suppressions>
  <suppress checks="JavadocStyleCheck"
             files="GeneratedObject.java"
             lines="50-9999"/>
  <suppress checks="MagicNumberCheck"
             files="LegacyDatasetConvertor.java"
             lines="221,250-295"/>
</suppressions>

示例: pom.xml - 指定 Checkstyle 应使用的抑制过滤器。

<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.10</version>
        <configuration>
          <configLocation>checkstyle.xml</configLocation>
          <suppressionsLocation>
            checkstyle-suppressions.xml
          </suppressionsLocation>
          <suppressionsFileExpression>
            checkstyle.suppressions.file
          </suppressionsFileExpression>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  ...
</project>

已编辑

使用自定义 Checkstyle 检查器配置

可以定义然后通过 URL、文件或构建类路径资源引用来引用。要引用自定义 Checkstyle Checker 配置,请使用 configLocation 参数。

Checkstyle 插件附带 4 个预定义的 Checkstyle 配置定义,默认选择 Sun Microsystems 定义。

  1. config/sun_checks.xml - Sun Microsystems 定义(默认)。
  2. config/maven_checks.xml - Maven 开发定义。
  3. config/turbine_checks.xml - 涡轮机开发定义。
  4. config/avalon_checks.xml - Avalon 开发定义。

我希望这可能会有所帮助。

于 2013-03-22T12:07:33.503 回答