2013-11-21 1 views
5

EclipseLink(2.5.1)JPAエンティティの静的ウィービングによって生成されているコードで、FindBugs(2.0.2)およびSonar(3.7.3)から誤検出されていると思います。具体的には、私はスタティック製織で生成されたコードに対してFindBugsが警告を生成しないようにする方法はありますか?

ES_COMPARING_PARAMETER_STRING_WITH_EQ 
Comparison of String parameter using == or != in com.test.domain.MyEntity._persistence_set(String, Object) 

URV_INHERITED_METHOD_WITH_RELATED_TYPES 
Inherited method com.test.domain.MyEntity._persistence_get(String) returns more specific type of object than declared 

の複数の出現を見ていますと、ルールを無効にするか、エンティティの分析を除外グローバルすることなく、EclipseLinkはによって生成されたコードのためにこれらの警告を解消する方法はあります完全に? http://docs.codehaus.org/display/SONAR/Narrowing+the+Focus

答えて

4

非常に良い質問:

+0

ありがとう、これは完全に機能しました。 Sonar 4には、コンソールから除外/パターンを管理するためのオプションが豊富に用意されていますが、このような詳細はありません。 –

0

あなたは除外を見てすることができます!あなたの問題はFindBugsに由来するので、FindBugs exclusion filtersを使ってこれに対処できます。特に、<Method>除外を見てください。あなたは、このようなフィルタファイルは、EclipseプラグインとSonarQube含めFindBugsのあらゆる形態の、使用することができ

<Method name="~_persistence_[gs]et" /> 

として、エンティティクラスであなたのゲッターとセッターのメソッド名に一致する正規表現を指定することができます。たとえば、SonarQube antタスクを使用して、プロパティ sonar.findbugs.excludesFiltersをFindBugs除外ファイルの絶対パスに設定できます。

関連する問題