禁用特定Java包的所有checkstyle检查 [英] Disable all checkstyle checks for a specific java package

查看:1611
本文介绍了禁用特定Java包的所有checkstyle检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个包,即


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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆