我有两个包
COM / MYDOMAIN / ABC /委托/ XYZ / JAXWS /管理
和com/mydomain/abc/xyz/jaxws/managed
我要求仅为第二个包禁用checkstyle,因为它们包含自动生成的代理类。
我使用了抑制文件夹,如下所示
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"suppressions_1_1.dtd">
<suppressions>
<!-- Suppress JavadocPackage in the test packages -->
<suppress checks="JavadocPackage" files="[\\/]test[\\/]"/>
<!-- Suppress all checkstyle for autogenerated jaxws.managed package -->
<suppress checks="[a-zA-Z0-9]*" files="([^(delegate)])+([a-z]*[\\/]jaxws[\\/]managed[\\/])+"/>
</suppressions>
请注意,禁用JavadocPackage检查的第一次禁止工作正常,但第二次没有。我担心我选择包的正则表达式可能是错误的。非常感谢任何帮助。
用一个例子说明我的要求:
选择标准是包名称应以jaxws.managed
结尾,但不应包含delegate
包名称。 delegate
以上的内容应位于包名称中的jaxws.managed
之前:
例如:必须启用包com.mycomany.delegate.service.jaxws.managed
中的checktyle检查,同时必须禁用com.mycompany.abc.service.jaxws.service
中的检查,并且要注意除了此模式之外我不知道所有的pakages名称。
谢谢和问候 思碧
答案 0 :(得分:18)
只需使用抑制:
<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/>
或者,我建议只将要检查的文件传递给Checkstyle。例如,如果您使用的是ANT,请使用a指定要处理的文件,并使用它来指定要忽略的文件。
例如:
<fileset dir="src">
<include name="**/*.java"/>
<exclude name="com/mycompany/abc/service/jaxws/service/*.java"/>
</fileset>
答案 1 :(得分:-5)
(?!delegate \ b)[\ /] [a-z] * [\ /] jaxws [\ /]托管[\ /]