Ref: FindBugs – A Bug Pattern Detector for Java
便利なEclipseプラグインらしい。とりあえず使ってみた。でもなぜか正常に動いてないような気がする。ソースを持ってきて覗いてみたらGeneric機能使っているようなので、Java2 1.4 ではコンパイルできない…。
仕方がないので、all releaseからFindBugsの 0.7.0 をダウンロードして使うようにしてみたところ、動作した。0.7.1はTigerでないと動かないのかもしれない。
とりあえずマニュアルに書いてある手順をまとめておく。
まず、FindBugs – A Bug Pattern Detector for Javaのページから、ファイルをダウンロードする。
スタンドアローン版、ドキュメントが欲しい場合は、Binary distribution (.zip)
ソースコードが欲しい場合は Source distribution
Eclipseのプラグインが欲しい場合は Core Eclipse plugin, UI Eclipse plugin
これらをダウンロードする。
0.7.0 を使う場合は、all releaseからダウンロードする。プラグイン版は0.7.0版がないが、0.7.1版をダウンロードして中身を0.7.0にすれば使える。
ここではスタンドアローン版、プラグイン版をダウンロードしてみた。
スタンドアローン版
筆者の環境では0.7.1だと動作しなかったが、0.7.0なら動作した。0.7.0を使う場合は、0.7.1の部分を0.7.0と読み替えてもらいたい。
Binary distributionを展開するとfindbugs-0.7.1というディレクトリができる。このディレクトリ内にある、doc/index.html, doc/manual/index.html を読んで使ってみればよい。
実際に実行するには、findbugs-0.7.1/bin/findbugs.bat (Windowsの場合) を実行すればよい。UNIX系の場合はfindbugs-0.7.1/bin/findbugsを使用する。コマンドを実行するとGUI画面が表示される。
手順としては、プロジェクトを新規作成し、チェックしたいクラスファイルを含むディレクトリやJARファイルを指定してから[Find Bugs!]をクリックすればよい。
CUIを実行するには、次のようにすればよいが、さらにテキストモード用のオプションを指定しないと動作しないので注意が必要だ。
Ecliipseプラグイン
プラグインは展開すると、それぞれedu.umd.cs.findbugs_0.7.1, de.tobject.findbugs_0.0.3といったディレクトリができるので、これらを、Eclipseをインストールしたディレクトリにあるpluginsディレクトリへ移動してから、Eclipseを起動すればよい。インストールを確認するには、Eclipseの [ヘルプ]-[Eclipseプラットフォームについて]-[プラグインの詳細]を開いたときに表示される一覧内に[FindBugs Plug-in], [FindBugs Binaries]があればよい。
Javaプロジェクトの[プロパティー]を開いて、[FindBugs]を選択し、[Enable FindBugs]へチェックを入れるとそのプロジェクトでFindBugsが有効になる。あとは、Javaプロジェクトをマウス右ボタンクリックすると表示されるメニューで[FindBugs]を指定すればFindBugsが実行されてバグの可能性がある箇所を発見してくれる。
0.7.0版を使う場合は、edu.umd.cs.findbugs_0.7.1をedu.umd.cs.findbugs_0.7.0という名前にする。plugin.xmlを編集して0.7.1と記述されているところは0.7.0と修正する。また、bcel.jar, dom4j-full.jar, findbugs.jar, plugin/coreplugin.jar をすべてfindbugs-0.7.0に同梱されているものに置き換える。あとは、0.7.1と同様にedu.umd.cs.findbugs_0.7.0, de.tobject.findbugs_0.0.3といったディレクトリを、Eclipseをインストールしたディレクトリにあるpluginsディレクトリへ移動してから、Eclipseを起動し、設定をすればよい。