2012-01-18 9 views
1

私はこのプラグインでfindbugsとmavenを実行していますが、Eclipseを使用して最大設定20のバグを見つけても、ビルドに失敗します。Maven with Findbugs

なぜEclipseのFindBugsのプラグインとMaven FindBugsのプラグインとの間のこのような不一致がある:今では33

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>findbugs-maven-plugin</artifactId> 
    <version>2.0.1</version> 
    <configuration> 
     <threshold>Ignore</threshold> 
     <xmlOutput>true</xmlOutput> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>verify</phase> 
     <goals> 
      <goal>check</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

二つの質問で失敗しますか?

Eclipse FindbugsにMaven Findbugsから生成されたfindbugscheck.xmlをロードして、自分のコードが自動的にハイライトされるようにすることはできますか? xmlファイルを介した釣りは非常に面倒です。

答えて

1

Eclipse Findbugsプラグインとfindbugs-maven-pluginとの間に相違があるのは、異なるバージョンのFindbugsユーティリティを使用しているこれら2つの製品が原因である可能性があります。これらの製品のそれぞれは、FindBugsユーティリティ(found here)を実行してから、ユーティリティの出力を解析して結果を表示しています。 findbugs-maven-plugin-2.0.1は、Findbugs 1.3.8に基づいています。 EclipseプラグインのどのバージョンのFindbugsに基づいているのかはわかりません。

Findbugsユーティリティでは、結果に影響を与える可能性のある(-effort:max、-effort:minなど)command line optionsがサポートされています。 EclipseのFindbugsプラグインとfindbugs-maven-pluginは異なるコマンドラインオプションを提供している可能性があります。その結果、結果に差異が生じます。これらのコマンドラインオプションの設定が両方とも提供されている場合、この不一致を解消することは可能かもしれません。

Eclipse Findbugsプラグインは、Eclipse内のプラグインのビューで結果をフィルタリングします。フィルタリングはプラグインのビューでツールバーのアイコンとしてアクセスできます(私の開発ボックスには表示されていません)。 FindBugsのwebsiteからも

、:

"FindBugsのは、誰もが新しいバグ検出器を追加することができますプラグインアーキテクチャをサポートしています。"

これは、Eclipseプラグインに他のバグ検出器が接続されていることを意味する可能性がありますが、これはわかりませんが、指摘される可能性があります。私はEclipe Findbugsプラグインを入手する方法を見つけたことがなく、findbugscheck.xmlをMavenビルドからロードします。

ETA:findbugsの結果xmlを手動で釣り上げる代わりに、Findbugs GUIを実行して、結果を読み込んで表示することができます。