7

我正在尝试为 Checkstyle 提供任何文件类型,但忽略任何不是 .java 文件的内容。我创建了一个过滤器,但这似乎不起作用:

public class DotJavaFilter
    extends AutomaticBean
    implements Filter
{

    public DotJavaFilter()
        throws PatternSyntaxException
    {
    }

    public boolean accept(AuditEvent aEvent)
    {
        final String fileName = aEvent.getFileName();
        return fileName.endsWith(".java");
    }
}

我想给 CS 一个文件目录,让它只处理 .java 文件。

4

1 回答 1

7

您可以像这样在命令行上运行它:

java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src

如果您使用的是 bash,则可以打开globstar然后只处理 java 文件,如下所示:

shopt -s globstar
java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src/**/*.java

Checkstyle 命令行文档在这里


更新:使用抑制过滤器

创建一个抑制文件以忽略对类文件的所有检查。您也可以为您不感兴趣的其他文件类型添加正则表达式。

抑制.xml:

<suppressions>
    <suppress checks="." files=".*\.class"/>
</suppressions>

将抑制过滤器添加到您的检查文件中:

my_checks.xml:

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

运行:

java -jar checkstyle-5.5-all.jar -c my_checks.xml -r /path/to/src

可以在此处找到有关抑制过滤器的文档。

于 2012-04-30T15:48:30.010 回答