我正在尝试为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文件。
答案 0 :(得分: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命令行文档为here。
更新:使用抑制过滤器
创建一个抑制文件,忽略对类文件的所有检查。您可以为其他您不感兴趣的文件类型添加正则表达式。
<强> suppressions.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
可以找到有关抑制过滤器的文档here。