15

つまり、2つのパッケージがあります

com/mydomain/abc/delegate/xyz/jaxws/マネージド

com/mydomain/abc/xyz/jaxws/managed

これらは自動生成されるプロキシ クラスを保持するため、2 番目のパッケージに対してのみ checkstyle を無効にする必要があります。

以下に示すように、suppression.xml を使用します。

<?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 チェックを無効にする最初の抑制は正常に機能しますが、2 番目の抑制は機能しないことに注意してください。パッケージを選択するための正規表現が間違っているのではないかと心配しています。どんな助けでも大歓迎です。

私の要件を例で説明するには:

選択の基準は、パッケージ名がで終わるjaxws.managed必要がありますが、パッケージ名に含まれてはならないということdelegateです。さらに、パッケージ名のdelegate前に来る必要があります:jaxws.managed

例: パッケージ内の checktyle チェックをcom.mycomany.delegate.service.jaxws.managed有効にするcom.mycompany.abc.service.jaxws.service必要がありますが、無効にする必要があります。このパターンを除いて、事前にすべてのパッケージ名を知っているわけではないことに注意してください。

ありがとう、よろしくシビ

4

2 に答える 2

18

抑制を使用するだけです。

<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/>

または、チェックしたいファイルのみをCheckstyleに渡すことをお勧めします。たとえば、ANTを使用している場合は、を使用して処理するファイルを指定し、を使用して無視するファイルを指定します。

例えば:

<fileset dir="src">
  <include name="**/*.java"/>
  <exclude name="com/mycompany/abc/service/jaxws/service/*.java"/>
</fileset>
于 2010-10-26T10:54:21.933 に答える
-6

(?! delegate \b) [\/][az]*[\/]jaxws[\/]管理[\/]

于 2010-10-31T17:35:20.117 に答える