如何在 checkstyle 上配置抑制 ParameterNumber?

Posted

技术标签:

【中文标题】如何在 checkstyle 上配置抑制 ParameterNumber?【英文标题】:How to configure suppress ParameterNumber on checkstyle? 【发布时间】:2021-12-25 19:00:06 【问题描述】:

如何配置抑制checkstyle上的参数个数(ParameterNumber):

检查样式配置:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.2</version>
    <dependencies>
      <dependency>
        <groupId>com.puppycrawl.tools</groupId>
        <artifactId>checkstyle</artifactId>
        <version>9.1</version>
      </dependency>
    </dependencies>
    <configuration>
      <configLocation>/config/checkstyle.xml</configLocation>
      <suppressionsLocation>/config/checkstyle-suppressions.xml</suppressionsLocation>
      <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

checkstyle-suppressions.xml 文件:

<suppressions>
  <suppress checks="ParameterNumber" files="src/main/java/org/acme/Signal.java" />
</suppressions>

我仍然收到消息:

Signal.java:[247,26] (sizes) ParameterNumber: More than 7 parameters (found 15).

【问题讨论】:

【参考方案1】:

https://checkstyle.sourceforge.io/config_filters.html#SuppressionFilter

在文件属性中定义的文件的位置在 以下顺序:

as a filesystem location
if no file found, and the location starts with either http:// or https://, then it is interpreted as a URL
if no file found, then passed to the ClassLoader.getResource() method.

使用包完全是在java中:

<suppress 
  checks="ParameterNumber"
  files="org.acme.Signal.java" />

【讨论】:

以上是关于如何在 checkstyle 上配置抑制 ParameterNumber?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置eclipse的checkstyle和findbugs两个插件

如何解决 Intellij Idea 的所有 checkstyle 问题?

是否有符合 Checkstyle 格式规则的 Eclipse“清理”配置文件?

如何在 Sonar Qube 7.8 中导入 google java checkstyle?

如何在类级别注释中为 JavaDocs 启用 Java checkstyle?

Checkstyle 的问题:创建格式化程序配置文件