【问题标题】:SuppressionFilter is not working抑制过滤器不工作
【发布时间】:2011-01-07 05:26:47
【问题描述】:

SuppressionFilter 不会忽略在 suppresss.xml 中给出的文件

checkstyle.xml

<module name="Checker">
    <module name="SuppressionFilter">
      <property name="file" value="/home/svn/testrepo/scripts/suppressions.xml"/>
    </module>
    <module name="TreeWalker">
....
</module>

suppressions.xml(位于/home/svn/testrepo/scripts)中,

<?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="."
              files="Constants.java" />
</suppressions>

另外,尝试了以下一个:

<suppressions>
    <suppress files="Constants\.java" checks="[a-zA-Z0-9]*"/>
</suppressions>

另外,尝试过:

<suppressions>
    <suppress checks=".*"
              files="Constants.java" />
</suppressions>

所有选项都不起作用。有人可以对此有答案吗?请帮帮我。

【问题讨论】:

    标签: checkstyle


    【解决方案1】:

    假设您使用以下方式配置过滤器:

    模块>

    那么 suppressions.xml 的示例内容可以是:

    <?xml version="1.0"?>
    <!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.1//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
    <suppressions>
        <suppress checks="."  files="[\\/]SoapAdapter\.java$"/>
    </suppressions>
    

    这将禁止对名为 SoapAdapter.java 的文件进行所有检查。请注意,[\\/] 只是在 Unix(使用 /)和 Windows(使用 \)下处理文件名的正则表达式。

    还建议阅读 http://checkstyle.sourceforge.net/config.html 上有关该主题的 Checkstyle 文档。

    【讨论】:

      【解决方案2】:

      只需在值前面添加${config_loc},如official documentation中所述

      <module name="SuppressionFilter">
          <property name="file" value="${config_loc}/suppressions.xml"/>
      </module>
      

      【讨论】:

        猜你喜欢
        • 2010-09-16
        • 2012-08-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多