禁用特定Java包的所有checkstyle检查 [英] Disable all checkstyle checks for a specific java package
问题描述
我有两个包,即
com / mydomain / abc / delegate / xyz / jaxws / managed
com/mydomain/abc/delegate/xyz/jaxws/managed
和 com / mydomain / abc / xyz / jaxws / managed
我要求只为第二个包禁用checkstyle,因为它们包含自动生成的代理类。
I require checkstyle to be disabled only for the second package as these holds proxy classes that are autogenerated.
我使用了抑制文件如下所示
I use a suppression.xml as shown below
<?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检查的第一次禁止工作正常但第二次没有。我担心我选择包的正则表达可能是错误的。非常感谢任何帮助。
Please note the first suppression for disabling JavadocPackage check works fine but the second one does not. I am afraid that my regex for selecting the package might be wrong. Any help is much appreciated.
用一个例子说明我的要求:
To state my requirements with an example:
选择的标准是包名称应以 jaxws.managed
结尾,但不应在包名中包含 delegate
。超过委托
应该在包名称中 jaxws.managed
之前:
The criteria for selection is that the package name should end in jaxws.managed
but should not contain delegate
in package name. More over delegate
should come before jaxws.managed
in the package name:
例如:包中的checktyle检查 com.mycomany.delegate.service.jaxws.managed
必须在 com.mycompany中启用必须禁用.abc.service.jaxws.service
,需要注意的是,除了此模式之外,我不知道所有的pakages名称。
eg: checktyle checks in package com.mycomany.delegate.service.jaxws.managed
must be enabled while that in com.mycompany.abc.service.jaxws.service
must be disabled and it is to be noted that I do not know all the pakages names upfront except for this pattern.
谢谢和问候
Sibi
Thanks and Regards Sibi
推荐答案
只需使用抑制:
<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/>
或者,我建议只将想要检查的文件传递给Checkstyle。例如,如果您使用的是ANT,请使用a指定要处理的文件,并使用它来指定要忽略的文件。
Alternatively, I would recommend only passing the files you want checked to Checkstyle. For example, if you are using ANT, use a to specify the files to process, and use to specify files to ignore.
例如:
<fileset dir="src">
<include name="**/*.java"/>
<exclude name="com/mycompany/abc/service/jaxws/service/*.java"/>
</fileset>
这篇关于禁用特定Java包的所有checkstyle检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!