Wie setzt man den classpath in eine ant-Datei, die zum ausführen eines Java-Programms und umfassen die externen jars?

Habe ich Beispiele gefunden, wie entweder setzen Sie den classpath, so dass ein Java-Programm ausgeführt werden kann oder auch auf externe jars, aber nicht beide. Meine versuche, zu kombinieren, mehrere Beispiele in einer Datei fehlgeschlagen.

Meine Quelle .java-Dateien im src-Verzeichnis, die Datei, die ich ausführen möchten ist src/TEDI.java die class-Dateien setzen sich richtig in das build-Verzeichnis, und alle meine Gläser werden in das Verzeichnis jung2-2_0_1. Ich kann mein Programm zu kompilieren, aber nicht ausführen, mit dem folgenden ant-Datei:

<?xml version="1.0"?>
<project name="TEDI" basedir="." default="execute">
    <property name="src" value="src"/>
    <property name="output" value="build"/>
    <property name="lib" value="jung2-2_0_1"/>

    <target name="execute" depends="compile">
        <echo>
            Executing TEDI.
        </echo>
        <java classname="${output}/TEDI.class">
            <classpath refid="java"/>
        </java>
    </target>

    <target name="compile" depends="create">
        <echo>
            Compiling source files.
        </echo>
        <javac destdir="${output}">            
            <src path="${src}"/>            
            <classpath refid="java"/>
        </javac>
    </target>

    <target name="clean">
        <echo>
            Deleting old class files.
        </echo>
        <delete dir="${output}"/>
    </target>

    <target name="create" depends="clean">
        <echo>
            Creating output directory.
        </echo>
        <mkdir dir="${output}"/>
    </target>

    <path id="java">
        <pathelement location="${output}"/>
        <fileset dir="${lib}">
            <include name="*.jar"/>
        </fileset>
    </path>
</project>

Wenn ich ant, es macht das reinigen, zu erstellen und zu kompilieren, Ziele gut, und dann, wenn er bekommt, um ihn auszuführen, sagt: Could not find build/TEDI.class. Make sure you have it in your classpath

Trotzdem bin ich der Hoffnung, jemand kann mir sagen was ich falsch mache in der path Abschnitt. Ich fügte hinzu, die pathelement bit nach dem Lesen ein Beispiel, wie man das ant-target zum ausführen einer Datei, aber es half nicht bei allen. Es gibt eine Tonne von Beispielen und eine Menge von Ihnen tun Dinge anders, das gleiche zu erreichen (nicht zu tun genau das, was ich versuche zu tun), also kann ich nicht herausfinden, welcher Weg der richtige für das, was ich versuche zu tun. Jede Hilfe oder Ideen würde sehr geschätzt werden.

Edit: Geändert <pathelement location="${build}"/> zu <pathelement location="${output}"/> als pro sandros Antwort, aber es ändert nichts an der Fehlermeldung überhaupt.

InformationsquelleAutor Maltiriel | 2012-04-09

Schreibe einen Kommentar