質問: antでのjunitの試験 antのbuild.xmlを下記のように記述して、ant unit-testを実行させると、下記の[junit]の試験がfailedになってしまいます。これと同じjunitの試験はeclipse上のjunitの試験ではパスしていますので、javaのテストプログラムそのものには間違いはありません。(同じファイルを使っています。) レポートファイルのエラーを見てみると、initializationerrorで、 org/hamcrest/selfdescribing java.lang.noclassdeffounderror: org/hamcrest/selfdescribing at java.lang.classloader.defineclass1(native method) at java.lang.classloader.defineclass(classloader.java:800) at java.lang.classloader.loadclass(classloader.java:358) at java.lang.reflect.constructor.newinstance(constructor.java:526) caused by: java.lang.classnotfoundexception: org.hamcrest.selfdescribing at java.lang.classloader.loadclass(classloader.java:358) のようなエラーをはいていますが、理由が分かりかねています。 antは、apache-ant-1.9.2、junitは、juint-4.11.jarを使っています。 多分、下記xmlファイルのの書き方の問題ではないかと思うのですが、 antのjunitの試験に詳しい方でお分かりになる方ございましたらアドバイスをお願いします。 xml version="1.0" encoding="utf-8"?
回答: eclipseのjunit実行時に読み込まれているhamcrest coreが、antから実行する時のクラスパスに含まれていないのだろうて。 クラスパスにhamcrest coreのjarを含めてあげましょう。それはhamcrest-core-1.3.jarかも知れないし、他のバージョンかも知れないしファイル名が全然違うかも知れない。一番手っ取り早いのは必要なjarは全部プロジェクトの中に含めておく事だ。