Eclipse 上で Ant を動かす時に、junit タスクが実行できない場合の対処方法

Eclipse では、Ant も JUnit も標準でサポートされている。しかし、Ant のビルドファイルに junit タスクを入れた場合、それを Eclipse 上で実行しようとすると、そのままでは実行できない。

現象

Eclipse 上で Ant ビルドファイルを実行すると、エラーとなり、

BUILD FAILED: D:\example\build.xml:104: Could not create task or type of type: junit

Ant could not find the task or a class this task relies on.

で始まる長文のメッセージが返される。

理由

表示されたメッセージを落ち着いて読めばわかる通り、junit タスクを実行するのに必要なクラスが見つからない、というのが原因だ。
元々 Ant には、そのままで使える「ビルトインタスク」と、使う場合にはクラスを足してやる必要のある「オプショナルタスク」がある。junit タスクは後者であり、junit.jar をクラスパスに含めないと、実行できない。

対処

手っ取り早い方法として、Eclipse の Ant プラグインが使用するクラスパスに、JUnit プラグインが使っている junit.jar を含めてしまえばいい。Eclipse 3.0.1 の場合は、以下の手順。

  1. [ウィンドウ]→[設定]→[Ant]→[ランタイム] とたどる。
  2. [クラスパス] タブの [Ant ホーム項目] というのに、junit.jar を追加する。

ちなみに、肝心の junit.jar はというと、<eclipse をインストールした場所>/plugins/org.junit_3.8.1 ディレクトリにある。