- - PR -
Ant でテストを実行するとClassNotFoundException
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-08-31 16:02
どなたかわかる方がいらしたらご教授ください。
eclipseからantを利用してjunitテストを行うと以下のエラーがでてしまいます。 メッセージ-------------------------------------------------------------- test: [echo] #### テスト #### [junit] Running WEB-INF/classes/test/TestStaffBean [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Testsuite: WEB-INF/classes/test/TestStaffBean [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Null Test: Caused an ERROR [junit] WEB-INF/classes/test/TestStaffBean [junit] java.lang.ClassNotFoundException: WEB-INF/classes/test/TestStaffBean [junit] at java.lang.Class.forName0(Native Method) [junit] at java.lang.Class.forName(Unknown Source) [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:383) [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:136) [junit] Test WEB-INF/classes/test/TestStaffBean FAILED BUILD FAILED: E:\dev\gw2\build.xml:88: 失敗 Total time: 3 seconds ------------------------------------------------------------------------ 以前に似たような記事があるのですが、それとはまたメッセージが違います。 どちらもClassNotFoundといってはいるのですが。。 >---アレクさんの書き込み---投稿日時: 2004-12-27 00:19 ----------------------- > >コード: >--------------------------------------------------------------------------- > > >test: > [junit] Running AntTest > [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec > [junit] Testsuite: AntTest > [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec > [junit] Caused an ERROR > [junit] AntTest > [junit] java.lang.ClassNotFoundException: AntTest > [junit] at java.net.URLClassLoader.run(URLClassLoader.java:199) > [junit] at java.security.AccessController.doPrivileged(Native Method) > [junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:187) > [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:289) > [junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) > [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:235) > [junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) > [junit] at java.lang.Class.forName0(Native Method) > [junit] at java.lang.Class.forName(Class.java:141) > [junit] Test AntTest FAILED > > >--------------------------------------------------------------------------- > > > >[設定]→[Ant]→[ランタイム]のクラスパスで junit.jar も設定したのですが、 >ClassNotFoundException が出てしまう始末です。 当方の環境は次のとおりです。 eclipse 3.0.1 jdk 1.5.0.0_04 tomcat 5.5.9 junit.jar junit-3.8.1.jar ←eclipseの[Ant]→[ランタイム]のクラスパスで設定 build.xml--------- <property name="classDir" value="WEB-INF/classes" /> <property name="srcDir" value="WEB-INF/src" /> <property name="docDir" value="doc" /> <property name="webinf" value="WEB-INF" /> <property name="lib" value="WEB-INF/lib"/> <property name="test.class" value="WEB-INF/classes/test/TestStaffBean" /> <path id="gw.classpath"> <pathelement location="."/> <pathelement location="${lib}/struts.jar"/> <pathelement location="${lib}/junit-3.8.1.jar"/> <pathelement location="E:/dev/tomcat-5.5.9/common/lib/servlet-api.jar"/> <pathelement location="WEB-INF/classes/staff/test" /> </path> : : <target name="test" depends="compile.test"> <echo></echo> <echo>#### テスト ####</echo> <junit printsummary="on" failureproperty="junit-test.faild"> <classpath> <path refid="gw.classpath" /> </classpath> <test name="${test.class}" /> <formatter type="brief" usefile="false"/> </junit> <fail if="junit-test.faild"> 失敗 </fail> </target> --------------------------------------------------------------- クラスが見つからないといっているようですが、どうすれば。。 以上よろしくお願いします。 |
|
投稿日時: 2005-08-31 16:38
<property name="test.class" value="WEB-INF/classes/test/TestStaffBean" />
で指定するのは、テストクラス名(完全修飾名)であって、 Ant実行時のルートディレクトリからの相対パスではないと思います。 |
|
投稿日時: 2005-08-31 17:12
ありがとうございます。
解決できました。 <property name="test.class" value="WEB-INF/classes/test/TestStaffBean" /> ↓修正 <property name="test.class" value="test.TestStaffBean" /> <path id="gw.classpath"> : <pathelement location="WEB-INF/classes/staff/test" /> ↓修正 <pathelement location="WEB-INF/classes" /> : </path> |
1