У меня есть два идентичных файлов сборки, которые выглядят как этотеще один Ant/JUnit ClassNotFoundException
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="Tryout" default="test1" basedir=".">
<property name="src" location="src"/>
<property name="build" location="bin"/>
<property name="junit" location="junit-4.10.jar"/>
<target name="compile" description="compile the source" >
<javac srcdir="${src}" destdir="${build}" debug="on">
<classpath location="junit-4.10.jar"/>
<classpath location="${build}"/>
</javac>
</target>
<target name="test1" depends="compile">
<junit printsummary="yes" fork="no" haltonfailure="no">
<classpath location="${build}"/>
<classpath location="junit-4.10.jar"/>
<formatter type="plain"/>
<test name="TestOne"/>
<test name="TestTwo"/>
</junit>
</target>
</project>
Единственное отличие заключается в Trial1 классы находятся в bin
, в то время как в Trial2 классов находятся в bin/one/two/three
, и все классы находятся в пакете one.two.three
. Trial1 отлично работает, тесты junit запускаются и распечатывают результаты в txt-файле. Trial2 может скомпилировать исходный код в соответствующую папку, но затем сбой при выполнении junit. Здесь ошибка:
Testsuite: TestOne
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
Caused an ERROR
TestOne
java.lang.ClassNotFoundException: TestOne
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
Вот часть отладки, что я считаю уместным
Class java.util.ArrayList loaded from parent loader (parentFirst)
Finding class org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner$3
Loaded from /usr/share/ant/lib/ant-junit.jar org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner$3.class
Finding class TestOne
Class java.lang.System loaded from parent loader (parentFirst)
Class java.lang.StringBuffer loaded from parent loader (parentFirst)
[junit] Running TestOne
Class org.apache.tools.ant.util.StringUtils loaded from parent loader (parentFirst)
Class org.apache.tools.ant.util.FileUtils loaded from parent loader (parentFirst)
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Test TestOne FAILED
Любая помощь мне точку в правильном направлении было бы весьма признателен !! Спасибо за ваше время.
вау спасибо очень хороший сэр – Steve