第7章 FindBugs™ Eclipse プラグインの使用方法

目次

1. 必要条件
2. インストール
3. プラグインの使用方法
4. トラブルシューティング

FindBugs Eclipse プラグインを使用することによって、 FindBugsEclipse IDE で使用することができるようになります。このFindBugs Eclipse プラグインは、 Peter Friese 氏の多大な貢献によるものです。Phil Crosby 氏 と Andrei Loskutov 氏は、プラグインの重要な改良に貢献しました。

1. 必要条件

FindBugs Eclipse Plugin を使用するためには、 Eclipse 3.3 あるいはそれ以降のバージョン、また、 JRE/JDK 1.5 あるいはそれ以降のバージョンが必要です。

2. インストール

更新サイトが提供されています。更新サイトを利用して、機械的に FindBugs を Eclipse にインストールできます。また自動的に、最新版のアップデートを照会してインストールすることもできます。内容の異なる 3 つの更新サイトが存在します。

FindBugs Eclipse 更新サイト一覧

http://findbugs.cs.umd.edu/eclipse/

FindBugs の公式リリース物を提供します。

http://findbugs.cs.umd.edu/eclips-candidate/

FindBugsの公式リリース物に加えて、公式リリース候補版を提供します。

http://findbugs.cs.umd.edu/eclipse-daily/

FindBugsの日次ビルド物を提供します。コンパイルができること以上のテストは行われていません。

また、次に示すリンクから手動でプラグインをダウンロードすることもできます : http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download. 展開して Eclipse の「plugins」サブディレクトリーに入れてください。(そうすると、 <eclipse インストールディレクトリー >/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122/findbugs.png が FindBugs のロゴファイルへのパスになるはずです。)

プラグインの展開ができたら、 Eclipse を起動して HelpAbout Eclipse PlatformPlug-in Details を選択してください。「FindBugs Project」から提供された「FindBugs Plug-in」というプラグインがあることを確認してください。

3. プラグインの使用方法

実行するには、 Java プロジェクト上で右クリックして「Find Bugs」を選択します。FindBugs が実行されて、バグパターンの実例の可能性があると識別されたコード箇所に問題マーカーがつきます。 (ソース画面および Eclipse 問題ビューに表示されます。)

Java プロジェクトのプロパティーダイアログを開いて「Findbugs」プロパティーページを選択することで、 FindBugs の動作をカスタマイズすることができます。選択できる項目には次のようなものがあります :

  • 「Run FindBugs Automatically」チェックボックスの設定。チェックすると、プロジェクト内の Java クラスが修正されるたびに FindBugs が実行されます。

  • 優先度とバグカテゴリーの選択。これらのオプションは、どの警告を表示するかを選択します。例えば、優先度で 「Medium」 を選択すると、優先度 (中) および優先度 (高) の警告のみが表示されます。同様に、「Style」チェックボックスのチェックマークを外すと、Style カテゴリーに属する警告は表示されません。

  • ディテクタの選択。表からプロジェクトで有効にしたいディテクタを選択することができます。

4. トラブルシューティング

FindBugs Eclipse プラグインは、まだ実験段階です。このセクションでは、プラグインに関する一般的な問題と (判明していれば) それらの問題の解決方法を記述します。

  • FindBugs 問題マーカーが (ソース画面および問題ビューに) 表示されない場合は、問題ビューのフィルター設定を変更してください。詳細情報は http://findbugs.sourceforge.net/FAQ.html#q7 を参照してください。