DarthShader
Erfahrenes Mitglied
Hallo,
ich versuche gerade, ein build.xml Buildfile für Ant aufzubauen, und stoße auf folgendes Problem:
Die Ausgangssituation ist: ich habe 2 Projekte "ProjA" und "ProjB". B hängt von A ab (A ist im Prinzip nur eine Bibliothek).
Nun geht es um die Build-Datei von "ProjB". Ich baue mir zunächst einmal mein classpath so auf:
Im 1. Fileset sammle ich alle .jar Dateien im Verzeichnis ProjB/lib. Im 2. Fileset hole ich noch die "ProjA.har" mit an Board, denn ich sagte ja schon, dass ProjB von ProjA abhängt.
Das funktioniert auch so, ProjB kompiliert. Aber nun möchte ich aus ProjB auch eine Jar Datei erstellen, was ich so mache:
Was dabei nun aber heraus kommt, speziell beim Classpath in der Manifest Datei, ist mein Problem, denn dort steht (u.A.) nun:
Im Prinzip hat er natürlich recht, das ist der richtige Ort der ProjA.jar Datei. Was ich aber möchte ist "lib/ProjA.jar", da ProjA.har später sowieso ins ProjB/dist/lib Verzeichnis kopiert wird.
Also wie kriege ich es hin, dass aus "../ProjA/dist/ProjA.jar" das "lib/ProjA.jar" wird?
Oder gehe ich die Sache falsch an?
Vielen Dank für Eure Hilfe!
ich versuche gerade, ein build.xml Buildfile für Ant aufzubauen, und stoße auf folgendes Problem:
Die Ausgangssituation ist: ich habe 2 Projekte "ProjA" und "ProjB". B hängt von A ab (A ist im Prinzip nur eine Bibliothek).
Nun geht es um die Build-Datei von "ProjB". Ich baue mir zunächst einmal mein classpath so auf:
Code:
<path id="classpath">
<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
<fileset dir="../ProjA/dist">
<include name="ProjA.jar" />
</fileset>
</path>
Im 1. Fileset sammle ich alle .jar Dateien im Verzeichnis ProjB/lib. Im 2. Fileset hole ich noch die "ProjA.har" mit an Board, denn ich sagte ja schon, dass ProjB von ProjA abhängt.
Das funktioniert auch so, ProjB kompiliert. Aber nun möchte ich aus ProjB auch eine Jar Datei erstellen, was ich so mache:
Code:
<manifestclasspath property="jar.classpath" jarfile="${dist.file}">
<classpath refid="classpath"/>
</manifestclasspath>
<jar jarfile="${dist}/${dist.file}" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
<attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>
</jar>
Was dabei nun aber heraus kommt, speziell beim Classpath in der Manifest Datei, ist mein Problem, denn dort steht (u.A.) nun:
Code:
Class-Path: ../ProjA/dist/ProjA.jar
Im Prinzip hat er natürlich recht, das ist der richtige Ort der ProjA.jar Datei. Was ich aber möchte ist "lib/ProjA.jar", da ProjA.har später sowieso ins ProjB/dist/lib Verzeichnis kopiert wird.
Also wie kriege ich es hin, dass aus "../ProjA/dist/ProjA.jar" das "lib/ProjA.jar" wird?
Oder gehe ich die Sache falsch an?
Vielen Dank für Eure Hilfe!