0

xjc.exe 生成的用于从 XML 模式创建类的代码有很多 Checkstyle 警告。我可以在项目中使用 Checkstyle“包中的文件”过滤器来忽略 xjc.exe 生成的源代码,但我必须单独选择每个包,并且我经常使用 JAXB 类。

我对生成的代码使用命名约定,其中包名称包含 .JAXB。并以 .classes 结尾

有没有办法在 Checkstyle 中指定通用过滤器,以便忽略 xjc.exe 生成的包?

  • 我可以在 Checkstyle 配置中全局执行此操作,以便将其应用于工作区中的所有项目吗?
  • 可以在项目的 .checkstyle 文件中完成吗?

谢谢,史蒂夫

4

1 回答 1

1

是的,您可以像这样在项目中定义 a suppressions.xml

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
    <suppress files="[\\/]JAXB[\\/].+?[\\/]classes[\\/][A-Z]" checks="." />
</suppressions>

正则表达式[A-Z]末尾的files假定您的类以大写字母开头。这样,classes仅匹配作为最后一个包名称元素(正则表达式解释)。

然后,在您的 checkstyle 配置中,您可以像这样启用SuppressionFilter

...snip...
<module name="SuppressionFilter">
    <property name="file" value="${workspace_loc}/Project/suppressions.xml"/>
</module>
...snip...
于 2012-11-10T15:10:43.663 回答