我在命令行上使用checkstyle。不在Maven或ANT。
我已经定义了一个suppressions.xml
文件并从我的-c CheckstyleConfig.xml
引用了它。
Checkstyle运行(没有解析错误),但它没有抑制任何内容。
我正在尝试让Checkstyle忽略.class
个文件。以下是我的suppression.xml
文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress checks="." files="(.*\.class)"/>
</suppressions>
关于我做错的任何想法? Checkstyle仍在处理.class
个文件。
感谢。
答案 0 :(得分:0)
Checkstyle对类文件不起作用,它无法解析它们。 Checkstyle适用于Java源代码,这些代码是以“.java”结尾的文件。
所以,问题是你的正则表达式来抑制错误。抑制应该是:
<suppress checks="." files="(.*\.java)"/>
答案 1 :(得分:0)
Checkstyle适用于你喂它的任何东西。默认的eclipse-cs安装只会为它提供Java文件和属性文件,但由于您是从命令行运行的,因此您必须排除.class
文件以检查或禁止显示警告。
最好从检查中排除.class
文件(以便Checkstyle永远不会看到它们),因为它可以节省您的时间。
但是如果你想抑制警告,你也可以这样做。 suppressions.xml 中的files
正则表达式是贪婪的,因此.*
已涵盖整个文件名,示例中的模式永远不会匹配。尝试使用此语法(禁止所有.class
文件):
<suppressions>
<suppress checks=".*" files="\.class$" />
</suppressions>