# Erste Schritte mit ant



## schnuffel123 (22. Sep 2011)

Ich habe ein Projekt Testprojekt mit folgender Ordnerstruktur

Testprojekt/src
Testprojekt/test
Testprojekt/resources
Testprojekt/build.xml


Was Name bedeutet ist klar. default bedeutet ja "name of the default target" Das verstehe ich in dem Zusammenhang nicht. Was soll das bedeuten? basedir bedeutet ja sicher das er ausgehend von der Position in der sich die build.xml befindet irgendwas gesucht werden soll (in dem Fall ausgehend von der Wurzel Testprojekt. Kann mir jemand das kurz erklären?

<project name="Test" basedir="." default="jar">


----------



## VfL_Freak (22. Sep 2011)

Moin,



schnuffel123 hat gesagt.:


> <project name="Test" basedir="." default="jar">
> Was Name bedeutet ist klar. default bedeutet ja "name of the default target" Das verstehe ich in dem Zusammenhang nicht. Was soll das bedeuten? basedir bedeutet ja sicher das er ausgehend von der Position in der sich die build.xml befindet irgendwas gesucht werden soll (in dem Fall ausgehend von der Wurzel Testprojekt. Kann mir jemand das kurz erklären?



also:
*name* ist der Name des Projekt, der dann auch für die zu erstellende jar-Datei verwendet wird

über *basedir* habe ich mir eigentlich noch nie groß Gedanken gemacht, würde ich aber mal als Stammverzeichnis der Erstellung deuten (also ähnlich wie Du  )

und *default*  verweist in der Tat auf das erste Tag in der build-Datei, das ausgeführt wird!


Siehe auch hier :
Galileo Computing :: Java ist auch eine Insel – 26.5 Ant - Punkt 26.5.2
Ant: Make-Alternative für Java

Gruß
Klaus


----------



## schnuffel123 (22. Sep 2011)

Danke schön 

>> default verweist in der Tat auf das erste Tag in der build-Datei, das ausgeführt wird!
D.h. default wird immer ausgeführt wenn ich die build.xml ausführe?

Noch eine Frage:

Im java build path meines projektes habe ich einige "required projects on the build path" eingebunden. Wie kann ich diese externen Projekte auch bei ant mit einbinden? So dass die packages usw. auch gefunden werden können? Momentan bekomme ich einen:

"package ... does not exist" Fehler. D.h. ant kann das package (welches sich in einem anderen Projekt befindet) nicht finden.


----------



## VfL_Freak (22. Sep 2011)

Moin,



schnuffel123 hat gesagt.:


> >> default verweist in der Tat auf das erste Tag in der build-Datei, das ausgeführt wird!
> D.h. default wird immer ausgeführt wenn ich die build.xml ausführe?


Kommt vermutlich darauf an, wie Du die _build.xml_ ausführst. Ich arbeite hier (derzeit) noch mit dem JBuilder von Borland, wo ich rechts im Gliederungsfenster jeden beliebigen <Tag> aufrufen kann, der dann (ggf. mit den entsprechenden _depends_) ausgeführt wird !




schnuffel123 hat gesagt.:


> Im java build path meines projektes habe ich einige "required projects on the build path" eingebunden. Wie kann ich diese externen Projekte auch bei ant mit einbinden? So dass die packages usw. auch gefunden werden können? Momentan bekomme ich einen:
> "package ... does not exist" Fehler. D.h. ant kann das package (welches sich in einem anderen Projekt befindet) nicht finden.


hmm, kann ich Dir so nicht sagen ... poste am besten mal die gesamte Datei!

Ich habe bei mir ein Property <_path id_> drin, dass so ausschaut:
[XML]
<path id="classpath">
	        <pathelement path="${classpath}"/>
	        <pathelement location="."/>
	        <pathelement location="/JBuilder2007/LIBs/foxtrot-3.0/lib/foxtrot-core-3.0.jar"/>
	        <pathelement location="/JBuilder2007/LIBs/SerialIO/Serialio.jar"/>
	        <pathelement location="/JBuilder2007/LIBs/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/>
	        <pathelement location="/JBuilder2007/LIBs/jco/lib/jco.jar"/>
	    	<pathelement location="/JBuilder2007/LIBs/edtftpj-2.0.3/lib/edtftpj.jar"/>
    		<pathelement location="/JBuilder2007/LIBs/swingx-1.6/swingx-1.6.jar"/>
		<pathelement location="/JBuilder2007/LIBs/WinRegistry V4.4/WinRegistry-4.4.jar"/>
	</path>
[/XML]

Gruß
Klaus


----------



## schnuffel123 (22. Sep 2011)

>Kommt vermutlich darauf an, wie Du die build.xml ausführst. Ich arbeite hier (derzeit) noch mit dem >JBuilder von Borland, wo ich rechts im Gliederungsfenster jeden beliebigen <Tag> aufrufen kann, der >dann (ggf. mit den entsprechenden depends) ausgeführt wird !

In Eclipse kann man die auch beliebig aufrufen. Hinter einem steht dann halt (default). Deshalb erschließt sich mir der Sinn dieses defaults noch nicht so richtig.


----------



## VfL_Freak (22. Sep 2011)

Moin,



schnuffel123 hat gesagt.:


> Deshalb erschließt sich mir der Sinn dieses defaults noch nicht so richtig



da sind wir dann schon zwei :lol:


----------



## schnuffel123 (22. Sep 2011)

Nochmal zurück zum ant script...

Habe in meine build.xml jetzt folgendes aufgenommen:

 <path id="master-classpath">
        <fileset dir="${lib.dir}">
            <include name="*.jar"/>
        </fileset>
    	<fileset dir="../MeinProjekt/src/">
    	    <include name="**/*" />
    	</fileset>
        <pathelement path="${build.dir}"/>
    </path>

Im Projektexplorer ist das Projekt A mit dem build.xml und dem src, also A/src und A/build.xml
und MeinProjekt mit MeinProjekt/src wo sich die angemahnten packages befinden.

Mit .. müsste ich doch vom aktuellen build.xml einen Schritt in der Verzeichnisstruktur nach oben gehen (d.h. Wurzel des Projektexplorers). Er findet bzw. bindet die Dateien aber nicht ein. Es kommt immer noch "package does not exist".


Ideen?


----------

