SuppressionFilter不起作用

时间:2011-01-07 05:26:48

标签: checkstyle

SuppressionFilter不会忽略suppressions.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>

所有选项均无效。任何人都可以对此有答案吗?请帮帮我。

2 个答案:

答案 0 :(得分:0)

假设您使用以下命令配置过滤器:

    <module name="SuppressionFilter">
      <property name="file" value="suppressions.xml"/>
    </module>

然后 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文档。

答案 1 :(得分:0)

只需按照official documentation

所述,在值之前添加${config_loc}
<module name="SuppressionFilter">
    <property name="file" value="${config_loc}/suppressions.xml"/>
</module>