![]() |
[Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe hier ein Ant Build Script:
Code:
Wenn ich es auch Eclipse aus ausführe, klappt alles wunderbar. Rufe ich es über die Konsole auf mit
<?xml version="1.0"?>
<project name="Clover" default="" basedir="."> <description>Build file</description> <property name="src_dir" location="./src"/> <property name="srcTest_dir" location="./srcTest"/> <property name="bin_dir" location="./bin"/> <target name="CloverSetup"> <clover-setup initstring="CloverDB/clover_coverage.db"/> </target> <target name="Cleanup"> <delete verbose="true"> <fileset dir="${bin_dir}"> <include name="*.class"/> </fileset> </delete> </target> <target name="BuildProject"> <mkdir dir="${bin_dir}"/> <javac destdir="${bin_dir}" verbose="true"> <src> <pathelement location="${src_dir}"/> <pathelement location="${srcTest_dir}"/> </src> </javac> </target> <target name="UnitTests"> <junit printSummary="true" showOutput="true"> <formatter type="brief" usefile="false"/> <classpath > <pathelement location="${bin_dir}"/> </classpath> <batchtest> <fileset dir="${bin_dir}"> <include name="*Test.class"/> </fileset> </batchtest> </junit> </target> <target name="CloverReportHTML"> <clover-report> <current outfile="report_html"> <format type="html"/> </current> </clover-report> </target> <target name="CloverReportXML"> <clover-report> <current outfile="report_xml\report.xml"> <format type="xml"/> </current> </clover-report> </target> </project>
Code:
erhalte ich folgende Ausgabe:
ant -v -k -buildfile build.xml
Zitat:
Im Build Dialog sind noch Classpath Variablen deklariert. Muss ich die auch im Build Skript deklarieren, wenn ich das Script über die Konsole ausführe? Und wenn ja, wie muss ich sie deklarieren? |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Zum Ausführen eines Targets in der build.xml braucht man nur ant <target> einzugeben.
Zum Beispiel:
Code:
Standardmäßig wird die build.xml als Buildskript verwendet.
ant Cleanup
Das Projekt verwendet kein Default-Target, daher passiert bei einfachem Aufruf von ant ohne einen Targetnamen nichts. |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Ach so. Aber wie sage ich Ant wo er die Build.xml mit der Target findet? Und wie kann ich mehrere Targets hintereinander ausführen?
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Zitat:
Zum Angeben eines bestimmten buildfiles:
Code:
Zum Ausführen mehrerer Targets zum Beispiel:
ant -f <file> use given buildfile
Code:
Oder mit depends attributen in der target Definition, diese können auch Listen abhängiger targets enthalten.
ant target1 target2 target3
Code:
<target name="build-distribution" depends="compile,test,zip">
... </target> |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Äh ja, hätte ich auch drauf kommen können.
Mein Aufruf sieht jetzt so aus:
Code:
Aber in der Logdatei steht nur
ant -f "C:\Dokumente und Einstellungen\mp\Eigene Dateien\Datawerk\Projekte\Java Unit Testing Build Automation\Demos\AntClover\build.xml" CloverSetup Cleanup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
pause Zitat:
Was könnte ich denn noch falsch machen? |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
OK, irgendwas mit Clover stimmt da nicht. Ich habe es mal rausgenommen.
Code:
So jetzt findet er die JUnit nicht. ich habe schon alle Varianten ausprobiert mit <classpath>. Aber es will nicht.
ant Cleanup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
Zitat:
Code:
<classpath>
<pathelement path="${classpath}"/> <pathelement location="lib/helper.jar"/> </classpath> Zitat:
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Die Dokumentation zum JUnit Task in Ant ist hier:
![]() es gibt fünf Möglichkeiten, die erste ("Put both junit.jar and ant-junit.jar in ANT_HOME/lib") ist am einfachsten. Die vierte, mit <classpath> Anweisungen für beide JUnit Dateien (junit.jar und ant-junit.jar), geht nur innerhalb eines taskdef Elements, d.h. man würde junit als neuen Task definieren, das geht, ist aber umständlich weil es junit als Task ja schon gibt. |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
ja, die Doku habe ich auch gefunden, nur war sie nicht sehr hilfreich.
Ich habe es jetzt so probiert:
Code:
Das will auch nicht.
<path id="classpath.junit">
<pathelement location="C:/Programme/Eclipse/plugins/org.junit4_4.3.1/junit.jar" /> </path> <target name="UnitTests"> <junit printSummary="true" showOutput="true"> <classpath refid="classpath.junit" /> <formatter type="brief" usefile="false"/> <classpath > <pathelement location="${bin_dir}"/> </classpath> <batchtest> <fileset dir="${bin_dir}"> <include name="*Test.class"/> </fileset> </batchtest> </junit> </target> Eigentlich wollte ich es ja vermeiden Dateien rumzukopieren. Werde ich aber dann wohl machen. Vielen Dank für deine Hilfe. |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Zitat:
Den classpath von junit kann man hier nicht mehr setzen, das muss schon vorher geschehen, damit JUnit überhaupt ausgeführt werden kann. u.a. kann man auch Ant per -lib Parameter den Pfad zu JUnit übergeben, dann muss man keine Dateien kopieren. |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Ich habe sie jetzt einfach kopiert. Geht. Jetzt muss ich nur noch Clover mit Ant zum laufen bringen. :? Da verabschiedet er sich einfach:
Zitat:
Code:
ant Cleanup CloverSetup BuildProject UnitTests CloverReportHTML CloverReportXML > build.log
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Moin Luckie,
beachte bitte dass Eclipse eine eigene Ant-Installation mitbringt. Wenn du die im Path verlinkt hast, ist alles super und die Libraries sind da. Wenn du aber eine eigene Ant-Installation gemacht hast verwenden Eclipse und dein "normales" Ant verschiedene Library-Verzeichnisse, in denen eventuell nicht alle benoetigten Libraries vorhanden sind. Ein paar kleine Tipps zu Ant:
Greetz alcaeus |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Ich habe jetzt alles zum Laufen bekommen. allerdings war das eigentlich nur ein Teilerfolg. Ich dachte, wenn ich es von der Konsole aus zum Laufen bringe, dann läuft es auch aus
![]() |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Zitat:
Greetz alcaeus |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Ich habe Bamboo lokal installiert und es läuft als Service. Ant ist lokal installiert (außerhalb Eclipse) und Clover auch noch mal lokal (außerhalb Eclipse). In der Konfiguration kann ich Ant über die Konsole aufrufen und das Projekt wird Compiliert, die JUnit Test werden ausgeführt und der Clover Report wird erstellt. Mit Bamboo habe ich für jede Ant Target einen Job/Task erstellt. Wenn ich den Plan aber ausführe, bekomme ich zum Schluss eine Fehlermeldung, mit der ich nichts anfangen kann. Wie sie genau heißt, kann ich jetzt nicht sagen, da muss ich im Büro am Monat nachgucken. aber ich werde auch noch mal gucken, ob man bei Bamboo im Administratoren Panel noch was konfigurieren muss/kann.
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
So, ich habe noch mal von vorne angefangen und in Bamboo für das Projekt einen neuen Plan erstellt, basierend auf dieser Build-XML Datei:
Code:
Diese kann ich mit Ant über die Konsole aufrufen und es wird jede Target ausgeführt. Diese Build-Datei funktionieert also.
<?xml version="1.0"?>
<project name="Clover" default="" basedir="."> <description>Build file</description> <property name="src_dir" location="./src"/> <property name="srcTest_dir" location="./srcTest"/> <property name="bin_dir" location="./bin"/> <property name="clover.jar" location="C:/Programme/Clover/lib/clover.jar"/> <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/> <target name="CloverSetup"> <clover-setup initstring="CloverDB/clover_coverage.db"/> </target> <target name="Cleanup"> <delete verbose="true"> <fileset dir="${bin_dir}"> <include name="*.class"/> </fileset> </delete> </target> <target name="BuildProject"> <mkdir dir="${bin_dir}"/> <javac destdir="${bin_dir}" verbose="true"> <src> <pathelement location="${src_dir}"/> <pathelement location="${srcTest_dir}"/> </src> </javac> </target> <target name="UnitTests"> <junit printSummary="true" showOutput="true"> <!-- <formatter type="brief" usefile="false"/> --> <formatter type="xml"/> <classpath > <pathelement location="${bin_dir}"/> <pathelement path="${clover.jar}"/> </classpath> <batchtest> <fileset dir="${bin_dir}"> <include name="*Test.class"/> </fileset> </batchtest> </junit> </target> <target name="CloverReportHTML"> <clover-report> <current outfile="report_html"> <format type="html"/> </current> </clover-report> </target> <target name="CloverReportXML"> <clover-report> <current outfile="report_xml\report.xml"> <!-- <current outfile="C:\Dokumente und Einstellungen\mp\bamboo-home\xml-data\build-dir\FB-TD-JOB1\report.xml"> --> <format type="xml"/> </current> </clover-report> </target> </project> Jetzt habe ich mit Bamboo einen neuen Plan erstellt und dort einen Task angelegt, der nur die Target "Cleanup" ausführt. Es wird kein Report generiert. Und nach dem der Plan ausgeführt wurde bekomme ich folgende Fehlermeldung: Zitat:
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Zitat:
Unter welchem Benutzeraccount? Bei Hudson (oder Jenkins) als Service ist es oft besser einen anderen als den Systemaccount zu verwenden, dem Rechte oder Umgebungsvariablen fehlen können. |
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Ich habe den Dienst als Administrator gestartet. Aber was sollte ihm fehlen? Den Pfad zu Ant habe ich bei Bamboo konfiguriert. Wo der Plan die Build-XML Datei findet habe ich ihm auch gesagt.
|
AW: [Java, Ant] Ant Build Skript funktioniert nicht bei Start aus Konsole
Da ich selbst Jenkins benutze und bisher die Finger von Bamboo gelassen hab muss ich mich leider dumm stellen :stupid:
Kannst du bei Bamboo irgendwelche Parameter fuer den Ant-Aufruf konfigurieren? Wenn ja, kannst du Ant bitte mit -v (fuer verbose) oder noch besser -d (fuer Debug) starten und gucken ob da was rauskommt? Ich kenne es von Jenkins dass man dort die Kommandozeilenausgabe des Builds angucken kann und damit nachvollziehen kann, warum oder weshalb der Build fehlgeschlagen ist. Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz