ein weiteres java.lang.ClassNotFoundException in ant-junit-task

Ich kann nicht herausfinden, warum ich immer diese Ausnahme von meinem ant build.xml Datei. Habe ich überprüft und alles ist in den classpath. Warum muss das so kompliziert?!

Hatte ich Probleme mit der Ant in der Vergangenheit und es scheint, dass es immer etwas mit dem classpath. Ich darauf zu junit.jar mit beiden Möglichkeiten: in eclipse: window->Einstellungen->ant->runtime->Ant Home->Add External Jars, und auch innerhalb der build.xml script. Diese Zeit, die Ameise ist nicht in der Lage zu finden, meine Testklasse in junit Aufgabe. Gibt es etwas falsch mit der Art, wie ich darauf an dieser Klasse?

<target name="init">
    <property name="sourceDir" value="src"/>
    <property name="outputDir" value="build" />
    <property name="junitLocation" value="C:\...\org.junit4_4.3.1\junit.jar" /> 
</target>

<target name="clean" depends="init">
    <delete dir="${outputDir}" />
</target>

<target name="prepare" depends="clean">
    <mkdir dir="${outputDir}" />
</target>

<target name="compile" depends="prepare">
     <javac srcdir="${sourceDir}" destdir="${outputDir}" classpath="${junitLocation}"/>
</target>

<path id="classpath">
   <pathelement location="${outputDir}" />
   <pathelement location="${junitLocation}" />
</path>

<target name="testApplication" depends="compile">
    <echo>Running the junit tests...</echo>
    <junit fork="yes" haltonfailure="yes">
        <test name="my.package.MyTest" />
        <formatter type="plain" usefile="false" />      
        <classpath refid="classpath" />
    </junit>
</target>

Bin ich immer:

    [junit] Testsuite: my.package.MyTest
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit]     Caused an ERROR
    [junit] my.package.MyTest
    [junit] java.lang.ClassNotFoundException: my.package.MyTest
    [junit]     at java.net.URLClassLoader$1.run(Unknown Source)
    [junit]     at java.security.AccessController.doPrivileged(Native Method)
    [junit]     at java.net.URLClassLoader.findClass(Unknown Source)
    [junit]     at java.lang.ClassLoader.loadClass(Unknown Source)
    [junit]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    [junit]     at java.lang.ClassLoader.loadClass(Unknown Source)
    [junit]     at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    [junit]     at java.lang.Class.forName0(Native Method)
    [junit]     at java.lang.Class.forName(Unknown Source)

BUILD FAILED

Offenbar, Ant findet junit.jar und versuche, um den test zu starten, aber warum kann es nicht finden, meine test-Klasse? Ich Stelle den Ordner mit kompilierten test-Klasse. Also ich weiß, dass junit ist auf Ant-classpath zumindest, aber die ClassNotFound verwirrt mich.

Irgendwelche Ideen vielleicht? Vielen Dank!

  • Nur Kontrolle - Sie sehen ./build/my/package/MyTest.class? Sie sind sicher, es baut richtig?
  • yep, sehe ich die kompilierte Klasse, in dem richtigen Verzeichnis sein, kein problem
InformationsquelleAutor denchr | 2009-08-01
Schreibe einen Kommentar