2016-05-27 7 views
0

TooManyFields PMDルールを調整して、注入したサービスをフィールドとしてカウントしないようにします。 JavaクラスであってもviolationSuppressXPathを使うなど、pmd xmlファイルで行う方法はありますか? violationSuppressXPathはルールがまったく適用されないようにするためにのみ機能しますか?PMDのTooManyFieldsルールを調整して注入されたサービスを無視する方法

注釈@WireVariableアノテーションまたは名前(「service」で終わる)のいずれかでSpringサービスを識別したいと思います。

+1

に役立つかもしれない。この溶液(注釈付きメソッドを無視して):http://stackoverflow.com/a/34919039/4014509を。私はPMDルールセットのnoobですが、フィールド用の同様のXPath式を作成することは問題ありません。 –

答えて

0

フィールドをSpringのインジェクションサービスとして使用しても、フィールドが少なくなるわけではありません。そのため、あまりにも多くのフィールドを持つのはまだ良い方法ではありません。クラスに新しい機能を追加する開発者は、すべてのフィールドを処理する必要があります。

あなたはこのように、唯一のクラスごとに警告を抑制することができます。

@SuppressWarnings("PMD.TooManyFields") 
public class Foo { 
... 
} 
+0

ありがとうございますが、警告を無視するのではなく、ルールセットで行う方法について質問していました。 – TheBakker

+0

'TooManyFields'ルールには' maxfields'オプションしかありません。チューニングすると、それを書き直すという意味ですか? –

+0

はい、それはJavaルールなのでカスタマイズするためのxpathはありません... – TheBakker

関連する問題