Ich habe genau das verwendet Build.xml Datei. Ich hatte anfangs Probleme mit dem Junit-Task, aber diese Probleme habe ich vor ein paar Monaten in den Griff bekommen.
Kürzlich erhielt ich die allzu häufige Fehlermeldung, als ich meine Build-Datei mit der Testaufgabe ausführte.
test:
[junit] Testsuite: com.mmz.mvc.test.AgentDAOTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Null Test: Caused an ERROR
[junit] com.mmz.mvc.test.AgentDAOTest
[junit] java.lang.ClassNotFoundException: com.mmz.mvc.test.AgentDAOTest
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:247)
[junit] at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
[junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
BUILD FAILED
C:\Users\myName\Documents\Java\mmz\WEB-INF\build.xml:45:
Testcom.mmz.mvc.test.AgentDAOTest failed
Ich weiß, dass dieses Problem mit meinem Klassenpfad zusammenhängt, aber ich bin mir nicht sicher, warum das Problem plötzlich auftritt, wenn es so lange funktioniert hat.
Mein Aufbau sieht wie folgt aus.
<property file="build.properties"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="classes"/>
<property name="web.dir" value="war"/>
<path id="build.classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${appserver.lib}">
<include name="servlet*.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
<pathelement path="${test.dir}"/>
</path>
<path id="classpath.base"/>
<path id="classpath.test">
<pathelement location="c:/ant/lib/junit.jar" />
<pathelement location="${build.dir}"/>
<pathelement location="${src.dir}"/>
<pathelement location="${test.dir}" />
<pathelement location="classes"/>
<path refid="classpath.base" />
</path>
<target name="build">
<mkdir dir="${build.dir}"/>
<mkdir dir="${test.dir}"/>
<javac destdir="${build.dir}" source="1.5" target="1.5" debug="true" deprecation="false" optimize="false" failonerror="true">
<src path="${src.dir}"/>
<classpath refid="build.classpath"/>
</javac>
<javac destdir="${build.dir}" source="1.5" target="1.5" debug="true" deprecation="false" optimize="false" failonerror="true">
<src path="${test.dir}"/>
<classpath refid="build.classpath"/>
</javac>
</target>
<target name="test">
<junit haltonfailure="true">
<classpath refid="classpath.test" />
<classpath refid="build.classpath"/>
<formatter type="brief" usefile="false" />
<test name="com.mmz.mvc.test.AgentDAOTest"/>
<test name="com.mmz.mvc.test.AgentProfileDAOTest"/>
<test name="com.mmz.mvc.test.BuyerDAOTest"/>
<test name="com.mmz.mvc.test.BuyerSellerDAOTest"/>
<test name="com.mmz.mvc.test.BaseDAOTest"/>
<test name="com.mmz.mvc.test.MemberDAOTest"/>
<test name="com.mmz.mvc.test.SellerDAOTest"/>
</junit>
Ich bin nicht sehr gut mit Build-Dateien und ich bin nicht sehr gut zu verstehen, wie die Einrichtung von Klassenpfaden und alles so, wenn jemand helfen könnte ich würde es schätzen.