Я использовал этот точный Build.xml файл. Сначала у меня были проблемы с использованием задачи junit, но я решил эти проблемы пару месяцев назад.
Недавно я получил сообщение об общей ошибке при запуске файла сборки с тестовым заданием.
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
Я знаю, что эта проблема связана с моим classpath, но я не уверен, почему это внезапно оборвалось, когда оно работало так долго.
Моя сборка выглядит следующим образом.
<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>
Я не очень хорошо разбираюсь в файлах сборки и не очень разбираюсь в том, как настроить пути к классам и все такое, поэтому, если кто-то сможет мне помочь, я буду признателен.