1. Übersicht
Ant ist ein Tool, das Software -Kompilierung, Testen, Bereitstellungen und andere Schritte zur Automatisierung verbindet, hauptsächlich für die Softwareentwicklung in der Java -Umgebung. In der tatsächlichen Softwareentwicklung gibt es viele Orte, an denen sie ANT verwenden können.
Entwicklungsumgebung:
Kopieren Sie den Code -Code wie folgt:
System: Windows
JDK: 1.6+
IDE: Sonnenfinsternis
Ameise: 1.9.1
Zweitens Vorteile
Ant ist ein Sub -Project im Jakarta -Verzeichnis der Apache Software Foundation.
1. Cross -Platform: Ant ist in reiner Java -Sprache geschrieben, so dass es eine gute Kreuzungsplattform hat.
2. Einfacher Betrieb: Ant besteht aus einer erstellten Aufgabe und optionaler Aufgabe. Ant benötigt eine XML -Datei (Erstellen von Dateien). Ant kann verschiedene Aufgaben ausführen, indem sie den Zielbaum aufrufen. Jede Aufgabe implementiert bestimmte Schnittstellenobjekte.
3. Einfache Wartung, gute Lesbarkeit und einfach integrierte: Da ANT -erstellte Dateien mit ANT -Erstellungsdateien leicht zu warten und zu schreiben sind und die Struktur sehr klar ist. Ant kann sich in die Entwicklungsumgebung integrieren. Da die Merkmale von Ameisenkreuz und einfachen Betrieb einfach in einige Entwicklungsumgebungen integriert werden können.
Drittens Installation und Konfiguration
1. Download Ant, http://mirror.esocc.com/apache/ant/binaries/apache-nt -nt-9.1-in.zip
2. Entpacken Sie das Reißverschlusskomprimierungspaket und platzieren Sie das komprimierte Paket, das das Verzeichnis, das Sie platzieren möchten, platzieren. Ich platziere es hier in d: /apache-at-1.9.1, die Verzeichnisstruktur lautet wie folgt:
Bin ist ein Ameisenprogramm.
Wie: Ausführen von Ant.bat in CMD, um das Programm auszuführen.
Alle XSL -Ausgangsvorlagen werden im Verzeichnis der ETC gespeichert, wodurch eine erweiterte Export -XML -Ausgabe verschiedener Aufgaben erstellt wird, damit Ihre Build -Dateien veraltete Warnungen beseitigen
Was im LIB -Verzeichnis gespeichert wird, ist das JAR -Paket, von dem das ANT -Programm abhängen muss
Manuelles Verzeichnis ist das Hilfsdokument des ANT -Programms
3.. In meinem Computer> Klicken Sie mit der rechten Maustaste> Eigenschaften> erweiterte Systemkonfiguration-> ANT in Umgebungsvariablen konfigurieren
Neue Systemvariable Ant_Home = D: /apache-at-1.9.1
Auf diese Weise ist die Umgebungsvariable konfiguriert, aber die Prämisse, die Sie für die Konfiguration der Umgebungsvariablen von JDK benötigen. Wenn Sie die Umgebungsvariable von JDK nicht konfigurieren, konfigurieren Sie bitte zuerst die JDK -Variable. Die JDK -Umgebungskonfigurationsmethode lautet wie folgt:
(1) Installieren Sie JDK in seinem Standardverzeichnis: C:/Programmdateien/Java/jdk1.5.0_05 (kein JDK geht zum offiziellen Download.
C:/Programmdateien/Java/Jdk1.5.0
Rolle: Sagen Sie dem System JVM, wo ist JVM
(2) Rechts mit meinem Computer, wählen Sie Attribute, erweiterte, Umgebungsvariablen aus
(3) Neu in der Systemvariablenleiste in der Systemvariablen erstellten Dialogfeld für Systemvariablen erscheint, und Java_Home wird in den variablen Namen, variabler Wert ausgefüllt: C:/Programmdateien/Java/Jdk1.5.0_05
(4) Erstellen Sie nach der Bestätigung einen neuen Umgebungsvariablen -Klassenpfad in der Spalte Systemvariable (en).
(5) Ermitteln und wählen Sie nach der Bestätigung die Option mit der Variablen als Pfad in der Spalte Systemvariable (en).
%Java_Home%/bin
Wenn keine Pfadvariablen gefunden werden, erstellen Sie selbst eine neue!
Wenn Sie nicht jedes Mal in das Verzeichnis rennen möchten, in dem sich die Klasse befindet, und dann den Befehl java ausführen, können Sie alle Klassendateien unter die Unified Directory -Organisation einfügen und dieses Verzeichnis dann dem ClassPath hinzufügen.
Der Testcode lautet wie folgt:
Kopieren Sie den Code -Code wie folgt:
öffentliche Klassen -Test {
Public static void main (String [] args) {{{{{{{{{{
System.out.println ("Hallo Welt!");
}
}
Nachdem der Herausgeber des Notizbeins als test.java -Datei (Dateiname und gleicher Name) bearbeitet wurde, öffnen Sie das Befehlszeilenfenster.
CD zum Verzeichnis, in dem sich die Datei befindet:
Kopieren Sie den Code -Code wie folgt:
Javac test.java // Befehle kompilieren
Java -Test // Programm ausführen
Wenn die Ausgabe ist: Hallo Welt!
Viertens testen Sie Ameise
Geben Sie die Ameise in das DOS -Fenster ein, das CMD ausgeführt wird, wie in der Abbildung gezeigt:
Wenn dies erscheint, herzlichen Glückwunsch zu Ihrer Installation! Andernfalls scheitert es und überprüfen die vorherigen Schritte falsch. Der obige Befehl führt das ANT -Programm aus, und Ant führt standardmäßig die Aufgabe im Build.xml aus.
Wenn die Installation fehlschlägt, prüfen Sie, ob es einige Situationen gibt:
1. Keine Konfiguration Java_Home oder Konfigurationsfehler, und Java_Home/bin/java.exe existiert
2. Keine Konfiguration Ant_Hoem oder Konfigurationsfehler, und Ant_Home/bin/mus. Bat existiert
3. Überprüfen Sie die Pfadvariablen Ihrer Umgebungsvariablen, es gibt Holz und Konfiguration ...;%ang_home%/bin;
%Path%= ... vielleicht-andere Eintritt ...;%Ant_Home%/Bin;
5. Der Betrieb von Ant
Wenn Ant den Befehl ausführt, gibt es manchmal einige Park -Jar -Bibliotheken. Diese Bibliotheken werden in jedem Ant -Projekt existieren. Zu diesem Zeitpunkt können wir dieses JAR -Paket als globale Bibliothek in das Verzeichnis von Ant_home/lib einfügen.
Wenn Sie das ursprüngliche Ant -Programm nicht "verschmutzen" möchten, können Sie JAR -Paket in das aktuelle Windows -Benutzerverzeichnis einfügen. Ohne das obige Verzeichnis kann es manuell festgelegt werden.
Wenn Sie nur Lib vorübergehend hinzufügen möchten und der aktuellen Ant -Engineering nicht Lib hinzufügen möchten. Sie können den abhängigen LIB -Parameter beim Ausführen des ANT -Programms angeben.
Gleichzeitig können Sie Ihr Projekt auch in das JAR -Paket im ClassPath -Verzeichnis des aktuellen Build -Projekts hinzufügen.
6. Antbefehl
Die Beschreibung der grammatikalischen Elemente lautet wie folgt:
-Helfen
Zeigen Sie die Hilfeinformationen des Ameisenbefehls und seiner Optionen an
-Projecthelp
Das Display enthält das von allen Benutzern in der konstruktive Datei verfasste Hilfdokument. Das heißt, der Text des Beschreibungsattributs in jedem <ziel> und jedem Text, der im Element <Bection> enthalten ist. Das Ziel des Beschreibungsattributs ist das Hauptziel (Hauptziel), und das Ziel ohne dieses Attribut wird als Subtarget aufgeführt.
-Version
Es muss seine Versionsinformationen angezeigt und dann beenden.
-ruhig
Die Hemmung ist nicht die meisten Nachrichten, die von der Echo -Aufgabe in der Baudatei generiert werden.
-Verbose
Zeigen Sie die detaillierten Meldungen jedes Vorgangs während des Konstruktionsprozesses an. Diese Option kann nur mit der Option -debug ausgewählt werden.
-Debuggen
SHOW ANT- und Task -Entwickler haben bereits Nachrichten zum Debuggen von Nachrichten markiert. Diese Option kann nur einen von ihnen mit -Verbose auswählen.
-Emacs
Formatieren Sie die Protokollnachrichten, sodass sie leicht von EMACS 'Shellmode analysiert werden können.
-Logfile -Dateiname
Setzen Sie die Protokollausgabe in die angegebene Datei zurück.
-Logger -Klassenname
Geben Sie eine Klasse an, um das Protokoll von Ant zu verarbeiten. Die angegebene Klasse muss org.apache.tools.ant.buildlogger interface implementieren.
-Listener -Klassenname
Um eine Überwachungsklasse zu deklarieren und sie auf seine Hörerliste zu erhöhen. Diese Option ist sehr nützlich, wenn Ant und IDE oder andere Java -Programme integriert werden. Sie können Kapitel 6 lesen, um weitere Informationen über den Vorgesetzten zu verstehen. Die angegebene Hörklasse muss als Verarbeitung der Konstruktionsnachricht geschrieben werden, mit der Ameise verarbeitet werden können.
-Buildfile Dateiname
Geben Sie die Konstruktionsdatei an, die Sie verarbeiten müssen. Die Standardkonstruktionsdatei ist Build.xml.
-Dproperty = Wert
Definieren Sie ein charakteristisches Name -Wert -Wert in der Befehlszeile.
-Find Dateiname
Geben Sie die Konstruktionsdatei an, die verarbeitet werden sollte. Im Gegensatz zu Buildfile -Optionen muss die angegebene Datei im aktuellen Verzeichnis nicht gefunden werden, die -find müssen in ihrem übergeordneten Verzeichnis suchen. Diese Suche wird weiterhin in ihrem Ahnenverzeichnis durchgeführt, bis die Stammwinkel des Dateisystems, und wenn die Datei nicht gefunden wurde, schlägt die Konstruktion fehl.
-Tuoproxy jdk1.5 oder mehr können Agenteneinstellungen verwenden
-NouserLib verwendet das JAR -Paket im Benutzer LIB beim Ausführen nicht
-Nice Design Hauptfadenpriorität
-LogFile verwendet das angegebene Protokollprotokoll
-Noinput erlaubt keine interaktive Eingabe nicht
-Keep -Going, -K -Ausführung hängt nicht von allen Zielen ab
-Propertyfil
Kopieren Sie den Code -Code wie folgt:
<Project default = "all">
<Eigenschaft name = "pro_a" value = "a value" />
<Eigenschaft name = "pro_b" value = "b value" />
<path id = "rt.phth">
<Pathelement local = "$ {java.home} /jre/lib/rt.jar"/>
</Path>
<Ziel name = "all">
<Javac srcdir = ".">
<classPath refid = "a.path" />
</javac>
</target>
</project>
Beachten:
● Alle konstruktiven Dateien müssen <projekt> Elemente und mindestens ein <ziel> -Element haben.
● Das Standardattribut für das Element <Projekt> erfordert nicht unbedingt den Standardwert.
● Konstruktionsdateien müssen nicht genannt build.xml werden. Build.xml ist jedoch der Standarddateiname, den Ameisen suchen möchten.
● Jede Konstruktionsdatei kann nur ein <projekt> -Element haben.
Geben Sie wie folgt den CMD -Fenster CMD in das CMD -Fenster ein. XML -Verzeichnis -Verzeichnis.
Ameise
Führen Sie Ant in Build.xml im aktuellen Verzeichnis aus, um Standardziele durchzuführen.
Kopieren Sie den Code -Code wie folgt:
Ameisenbauer bauen -test.xml
Führen Sie Ant im aktuellen Verzeichnis im aktuellen Verzeichnis aus, um das Standardziel auszuführen.
Kopieren Sie den Code -Code wie folgt:
Ameisenbauer bauen -test.xml sauber
Führen Sie Ameisen im aktuellen Verzeichnis im Build-Test.xml aus und führen Sie ein Ziel namens Clean aus.
Kopieren Sie den Code -Code wie folgt:
Mus
Führen Sie im aktuellen Verzeichnis eine Ameise im Build-Test.xml aus, führen Sie ein Ziel namens Clean aus und setzen Sie den Wert des Build-Attributs auf Build/Klassen.
7. Antskript: Verwenden Sie Knoten, Elemente und Attribute, Befehlsanweisungen
1. Projektknotenelement
Das Projektelement ist das Stammelement der Ameisenkomponentendatei. In jedem Projektelement können mehrere Zielelemente einbezogen werden. Als nächstes zeigen die Leser die Attribute des Projektelements.
● Name Attribute: Der Name zum Angeben des Projektelements.
● Standardattribut: Der Name der Zielausführung des SEARGE, wenn das Projekt standardmäßig ausgeführt wird.
● basiertes Attribut: Wird verwendet, um die Position des Basispfads anzugeben. Wenn dieses Attribut nicht angegeben ist, wird der Anhang der Ant -Komponenten -Datei als Benchmark -Verzeichnis verwendet.
Kopieren Sie den Code -Code wie folgt:
<? xml Version = "1.0"?>
<Project name = "Ant-Project" default = "print-dir" bases = ".">
<Zielname = "print-dir">
<echo message = "Das Basisdurchmesser ist: $ {basiert}" />
</target>
</project>
Aus dem obigen Beispiel ist ersichtlich, dass der Wert der Standardeigenschaft hier Druckrohr ist, dh wenn der Ant-Befehl ausgeführt wird, wird das Standardziel (Print-Dir) ausgeführt, wenn das Ziel nicht angegeben ist. Darüber hinaus ist der Wert des basierten Attributs ".
2. Zielknotenelement
Ziel ist die grundlegende Ausführungseinheit oder Aufgabe von ANT, die eine oder mehrere spezifische Einheiten/Aufgaben enthalten kann. Mehrere Ziele können gegenseitige Abhängigkeit haben. Es hat die folgenden Attribute:
● Name Attribut: Geben Sie den Namen des Zielelements an, das in einem Projektelement eindeutig ist. Wir können ein Ziel angeben, indem wir den Namen des Zielelements angeben.
● Abhängig von Attribut: Es wird verwendet, um die Abhängigkeitsbeziehung zwischen den Zielen zu beschreiben. Ant wird jedes Ziel gemäß der Reihenfolge des Ziels in der Abhängigkeitseigenschaft ausführen, und das abhängige Ziel wird zuerst ausgeführt.
● Wenn Attribut: Es wird verwendet, um zu überprüfen, ob das angegebene Attribut vorhanden ist.
● Sofern das Attribut nicht: Die Funktion dieses Attributs ist das Gegenteil der Funktion des IF -Attributs.
● Beschreibung Attribut: Dieses Attribut ist eine kurze Beschreibung und Beschreibung der Zielfunktion.
Beispiel:
Kopieren Sie den Code -Code wie folgt:
<? xml Version = "1.0"?>
<Project name = "Ant-TimeGet" default = "print">
<target name = "Version" if = "Ant.java.version">
<echo message = "Java Version: $ {Ant.java.version}" />
</target>
<target name = "print" abhängig = "Version", es sei denn, = "docs">
<BEKRESCHNUNG>
Ein jees Beispiel!
</Beschreibung>
<echo message = "Das Basisdurchmesser ist: $ {basiert}" />
</target>
</project>
Aus den folgenden Ergebnissen können wir das Ziel des Drucks ausführen. 1.6 ", nachdem die Version ausgeführt wurde, wird dann ausgeführt, weil Dokumente nicht vorhanden sind, und das Attribut wird in das Ziel gelang IS: D: D:/Arbeitsbereich/Antexample/Build ".
3. Eigenschaftsattributknotenelement
Eigenschaftselemente können als Definition von Parametern oder Parametern angesehen werden. Wenn Sie eine Datei außerhalb des Außenbereichs vorstellen möchten, z. B. build.Properties -Dateien, können Sie sie durch den folgenden Inhalt angeben:
<Eigenschaftsdatei = "Build.Properties"/>/>
Eigenschaftselemente können als Attributwert der Aufgabe verwendet werden. In der Aufgabe wird es erreicht, indem Attributnamen zwischen $ {Attributname} platziert und in der Position des Task -Attributwerts platziert wird.
Ant bietet einige erstellte Attribute. Gleichzeitig liefert ANT auch einige seiner eigenen gebauten Attribute, wie folgt:
Basiert: Der absolute Pfad der Projektbasisliste;
Ant. -Datei: Der absolute Weg von BuildFile.
Ant.Version: Ant -Versionsinformationen, dieser Artikel ist 1.8.1;
Ant.Project.Name: Der Name des aktuellen angegebenen Projekts, dh der Namenseigenschaftswert des zuvor erwähnten Projekts;
Ant.java.Version: Die von ANT nachgewiesene JDK -Version ist 1.6.
Zum Beispiel wie folgt:
Kopieren Sie den Code -Code wie folgt:
<Project name = "Ant-Project" default = "Beispiel">
<Eigenschaft name = "name" value = "jojo" />
<Eigenschaft name = "Alter" value = "25" />
<Zielname = "Beispiel">
<echo message = "name: $ {name}, Alter: $ {alter}" />
</target>
</project>
Im obigen Beispiel legt der Benutzer zwei Attribute mit dem Namen Namen und Alter fest.
4. Befehl kopieren
Kopie wird hauptsächlich zum Kopieren der Datei und des Verzeichnisses verwendet. Zum Beispiel wie folgt:
● Kopieren Sie eine einzige Datei:
Kopieren Sie den Code -Code wie folgt:
<copy File = "old.txt" toFile = "new.txt"/>
● Kopieren Sie das Dateiverzeichnis:
Kopieren Sie den Code -Code wie folgt:
<Copy Today = "../ dest_dir">
<fileset dir = "src_dir"/>
</copy>
● Kopieren Sie die Datei in ein anderes Verzeichnis:
Kopieren Sie den Code -Code wie folgt:
<copy File = "src.txt" todir = "c:/base"/>
5. Befehl löschen
Löschen Sie die Datei oder das Verzeichnis wie folgt:
● Löschen einer Datei:
Kopieren Sie den Code -Code wie folgt:
<delete file = "/res/images/cat.jpg"/>
● Löschen Sie ein Verzeichnis:
Kopieren Sie den Code -Code wie folgt:
<delete dir = "/res/image"/>
● Löschen Sie alle JAR -Dateien oder leeren Verzeichnisse:
Kopieren Sie den Code -Code wie folgt:
<Delete includeemptydirs = "true">
<Fileset Dir = "."
</delete>
6. MKDIR -Befehl
Erstellen Sie ein Verzeichnis.
Kopieren Sie den Code -Code wie folgt:
<mkdir dir = "/home/philander/bauen/klassen"/>/>
7. Befehl verschieben
Verschieben Sie Dateien oder Verzeichnisse wie folgt:
● Verschieben Sie eine einzelne Datei:
Kopieren Sie den Code -Code wie folgt:
<move File = "Source" toFile = "destfile"/>/>
● Verschieben Sie eine einzelne Datei in ein anderes Verzeichnis:
Kopieren Sie den Code -Code wie folgt:
<move file = "source" todir = "bewegt"/>/>
● Verschieben Sie ein Verzeichnis in ein anderes Verzeichnis:
Kopieren Sie den Code -Code wie folgt:
<Move Today = "Newdir">
<Fileset Dir = "OldDir"/>
</move>
8. Echo -Befehl
Die Rolle dieser Aufgabe besteht darin, Informationen basierend auf der Ebene des Protokolls oder des Monitors auszugeben. Es enthält vier Attribute: Nachricht, Datei, Anmelde und Ebene.
<echo message = "Ant meldung" Datei = "/logs/ant.log" append = "true">
9. JAR -Tag -Knotenelement
Dieses Tag wird verwendet, um eine JAR -Datei zu generieren, die wie folgt lautet.
● Destfile gibt den Namen der JAR -Datei an.
● Basedir repräsentiert den Dateinamen des Archivierten.
● Enthält den Dateimodus der Nicht -Archivierung an.
● Börsen repräsentieren den ausgeschlossenen Dateimodus.
● Die Komprimierung gibt an, ob sie komprimiert ist.
Beispiel:
Kopieren Sie den Code -Code wie folgt:
<jar destfile = "$ {webroot}/$ {ash_jar}" Level = "9" comprision = "true" coding = "utf-8" -basierte "$ {dest}">
<manifest>
<Attributname = "Implementierung-value =" Version: 2.2 "/>
</manifest>
</jar>
Das obige Hauptfest ist der Inhalt des Dateiinhalts im Manifest.mf im Fleisch-Inf im JAR-Paket
Der gleiche Verpackungsvorgang ist Krieg, TGZ und die Dekompressionsoperation Uzip
Kopieren Sie den Code -Code wie folgt:
<!-erstellen Sie ZIP->
<ZIP -Basienheit = "$ {basierendir}/class" ZipFile = "temp/output.zip"/>/>
<!-Erstellen Sie TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractdir"/>
<!-Kriegspaket erstellen->
<War Destfile = "$ {webroot} /ash.war" basiertir = "$ {basiert} /web" webxml = "$ {basiert} /web/web.xml" >>
<ausschließen name = "web-inf/classes/**"/>
<ausschließen name = "web-inf/lib/**"/>
<ausschließen name = "web-inf/work/_jsp/**"/>
<lib Dir = "$ {lib.dir}" include = "**/*. jar, **/*. Also, **/*. Dll">
<ausschließen name = "$ {webroot}/$ {helloWorld_jar}"/>
</lib>
<lib File = "$ {webroot}/$ {helloword_jar}"/>
<classes dir = "$ {dest}" include = "**/*. xml, **/*. ordnungsgemäß, **/*. xsd"> </classses>
</kriege>
10. Javac Tag Knotenelement
Das Etikett wird verwendet, um eine oder eine Gruppe von Java -Dateien zu kompilieren, und ihre Attribute sind wie folgt.
● SRCDIR repräsentiert das Verzeichnis des Quellprogramms.
● Destdir repräsentiert das Ausgabeverzeichnis der Klassendatei.
● Hören Sie das Muster der kompilierten Datei ein.
● Ausschließend repräsentiert das Muster der ausgeschlossenen Dateien.
● ClassPath repräsentiert den verwendeten Klassenpfad.
● Debugg repräsentiert Debugging -Informationen.
● Optimize gibt an, ob die Optimierung verwendet werden soll.
● Die ausführliche Darstellung detaillierter Ausgabeinformationen.
● FileOnError sagte, dass automatisch gestoppt wurde, wenn es auf einen Fehler aufgetreten ist.
Beispielkopiecode Code ist wie folgt:
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Setzen Sie den JVM-Speicher
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" ausführbar = "d:/sdk141/bin/javac"
maem memoryMaximumsize = "128m"/>
->
11. Java -Tag -Knotenelement
Diese Etikett wird verwendet, um die kompilierte .CLASS -Datei auszuführen, und ihre Attribute sind wie folgt.
● ClassName repräsentiert den Namen der Ausführung.
● JAR bezeichnet den Namen der JAR -Datei, die diese Klasse enthält.
● ClassPath drückte den verwendeten Klassenpfad aus.
● Fork bedeutet, diese Klasse in einer neuen virtuellen Maschine auszuführen.
● FailonError sagte, dass automatisch ein Fehler aufgetreten ist.
● Die Ausgabe gibt die Ausgabedatei an.
● APend gibt Addition an oder decken Sie die Standarddatei ab.
Beispielkopiecode Code ist wie folgt:
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
12. ARG -Datenparameterelement
Das von ANT aufgerufene Programm kann die Befehlszeilenparameter über das <RG> -Element wie Anwenden-, EXEC- und Java -Aufgaben übergeben, die mit verschachtelten <rg> -Elementen akzeptiert werden können und die angegebenen Parameter für ihre jeweiligen Prozesse angeben können . Hier sind alle Attribute von <arg>.
● Werte ist ein Befehlsparameter. Wenn im Parameter ein Speicherplatz vorhanden ist, aber wenn Sie ihn als einzelne Wert verwenden möchten, verwenden Sie dieses Attribut.
● Die Datei stellt einen Dateinamen eines Parameters dar. Bei der Konstruktion einer Datei ist der Name dieser Datei relativ zum aktuellen Arbeitsverzeichnis.
● Die Linie zeigt mehrere Parameter des durch Leerzeichen getrennten Raums an.
● Drücken Sie den Pfad aus, eine Pfadfolge, die als einzelne Befehlszeilenvariable verwendet wird.
● Pathref Referenced Path (Verwenden von Pfadelementknoten -Definitionspfad) ID
● Präfix Präfix ● Suffix -Suffix
Beispielkopiecode Code ist wie folgt:
<arg value = "-la -a"/>
Es handelt sich um eine einzelne Befehlszeilenvariable, die Platz enthält.
Kopieren Sie den Code -Code wie folgt:
<arg line = "-la -a"/>
Es ist die Befehlszeilenvariable, die durch zwei Leerzeichen getrennt ist.
Kopieren Sie den Code -Code wie folgt:
<arg path = "/dir;/dir2:/dir3"/>
Es handelt sich um eine Befehlszeilenvariable, und sein Wert ist/dir;/dir2;/dir3 auf dem DOS -System;/dir:/dir2:/dir3 auf dem UNIX -System.
13. Ericonment -Typ
Die externen Befehle oder Programme, die die von ANT genannte Datei genannt werden, und das <v> Element formuliert, welche Umgebungsvariablen an die Systembefehle übergeben werden sollten, können die folgenden Attribute akzeptieren.
● Die Datei repräsentiert den Dateinamen des Umgebungswertwerts. Der Name dieser Datei ist ein absoluter Pfad, der konvertiert werden muss.
● Pfad repräsentiert den Pfad der Umgebungsvariablen. Ant wird es in eine lokale Vereinbarung umwandeln.
● Wert stellt eine direkte Variable der Umgebungsvariablen dar.
● Schlüsselbetriebsname für Umgebungsvariablen.
Achten Sie auf den Dateipfad oder den Wert, der nur einen nehmen kann.
14. List für Filelistendateien
Der Filelist ist ein Datentyp, der die Benennungsdateilisten unterstützt. Hier sind all seine Attribute.
● DIR ist ein Verzeichnis zur Berechnung des absoluten Dateinamens.
● Dateien sind eine Liste von Dateien, die von Comma getrennt sind.
● REFID ist ein Verweis auf einen an einem bestimmten Ort definierten <filelist>.
Beachten Sie, dass Dire und Dateien erforderlich sind, sofern Dire und Dateien nicht verwendet werden dürfen, es sei denn, sie sind in diesem Fall angegeben).
Beispielkopiecode Code ist wie folgt:
<filelist id = "docFiles" Dir = "$ {doc.src}" files = "foo.xml, bar.xml"/>
Dateisammlung $ {doc.src} /foo.xml und $ {doc.src} /bar.xml.
<filelist id = "docFiles" Dir = "$ {doc.src}" files = "foo.xml bar.xml"/>
<filelist refid = "docFiles"/>
<filelist id = "docFiles" Dir = "$ {doc.src}">
<Dateiname = "foo.xml"/>
<Dateiname = "bar.xml"/>
</filelist>
15. Dateitype -Dateityp
Der Dateiet -Datentyp definiert eine Reihe von Dateien und wird normalerweise als <Fateset> -Element ausgedrückt. Viele Ant -Aufgaben haben jedoch versteckte Fileset erstellt, die zeigt, dass sie alle Dateien -Attribute und verschachtelten Elemente unterstützen. Im Folgenden finden Sie eine Liste von Attributen von Dateiset.
● DIR repräsentiert das Basisverzeichnis von Dateiset.
● Wenn der Wert der Fälle von Fällen falsch ist, unterscheidet sich der Dateiname, wenn er mit dem Dateinamen übereinstimmt, nicht vom Fall und der Standardwert ist wahr.
● DefaultExcludes wird verwendet, um zu bestimmen, ob der Standard -Ausschlussmodus verwendet wird, und der Standard ist wahr.
● Ausgeschlossen ist eine Dateimusterliste, die mit einer Komma -Trennung gesendet werden muss.
● Ausgeschlossene Datei repräsentiert den Dateinamen einer Datei, die einen Ausschlussmodus pro Zeile enthält.
● Include wird durch ein Komma und die Dateimusterliste getrennt, die enthalten sein muss.
● IncludeFile bedeutet, dass jede Zeile einen Dateinamen mit einem Modus enthält.
Beispielkopiecode Code ist wie folgt:
<fileset id = "lib.runtime" dir = "$ {lib.path}/runTime">
<include name = "**/*. jar"/>
<einschließen name = "**/*. Also"/>
<einschließen name = "**/*. dll"/>
</fileSet>
<fileset id = "lib.container" Dir = "$ {lib.Path}/Container">
<include name = "**/*. jar"/>
</fileSet>
<fileset id = "lib.extras" dir = "$ {lib.path}">
<einschließen name = "test/**/*. jar"/>
</fileSet>
16. Musteretyp
Dateiet ist ein Paket mit Dateien, und Muster sind in Mustern gepackt.
<Musterset> unterstützt 4 Attribute: Inklusive, ausschließend, includexfile, ausschließend Datei, die mit Dateiset übereinstimmen.
Das Musterset ermöglicht auch die folgenden verschachtelten Elemente: Einschließen, ausschließen, integrieren und ausschließen.
Beispielkopiecode Code ist wie folgt:
<!-Schwarz-Weiß-Liste->
<Musterset id = "non.test.sources">
<include name = "**/*. Java"/>
<!-Der Dateiname enthält den Ausschluss von Test->
<ausschließen name = "**/*test*"/>
</Musterset>
<Musterset id = "Quellen">
<einschließen name = "std/**/*. java"/>
<!-Beurteilt die Bedingung, dass es eine ereignismäßige Einführung gibt->
<einschließen name = "prof/**/*. java" if = "professional"/>/>
<ausschließen name = "**/*test*"/>
</Musterset>
<!-eine Reihe von Dateien->
<Musterset includeFile = "selts-file"/>
<Musterset>
<includeFile name = "Einige frei"/>
<Musternset/>
<Musterset>
<includeFile name = "Einige frei"/>
<includeFile name = "$ {sark-mehre-file}" if = "selt-mean-frei"/>
<Musternset/>
17. Filterset -Typ
Filterset definiert eine Reihe von Filtern, die den Text der Datei ersetzen, wenn sich die Datei bewegt oder Copys.
Die Hauptattribute sind wie folgt:
● Begintoken gibt die vom verschachtelte Filter gesuchte Marke an, eine Zeichenfolge, die es identifiziert.
● Endtoken gibt an, dass die vom verschachtelte Filter gesuchte Marke eine Zeichenfolge ist, die ihr Ende identifiziert.
● ID ist das einzige Logo des Filters.
● REFID ist ein Verweis auf einen Filter irgendwo in der Baudatei.
Beispielkopiecode Code ist wie folgt:
<!-@date@wird durch@date@zum aktuellen Datum von heute in der Inhalt von Version.txt in der Zieldatei ersetzt.
<Copy File = "$ {build.dir} /version.txt" toFile = "$ {dist.dir} /version.txt">
<Filterset>
<filter token = "date" value = "$ {Today}"/>
</filterset>
</copy>
<!-Benutzerdefinierte variable Format->
<Copy File = "$ {build.dir} /version.txt" toFile = "$ {dist.dir} /version.txt">
<!-Starten Sie von der%Position in Version.txt bis zum Ende der Position*und ersetzen Sie den@date@im Ersatzinhalt auf den Wert des aktuellen Datums von heute->
<filterset beganntoken = "%" endToken = "*">
<filter token = "date" value = "$ {Today}"/>
</filterset>
</copy>
<!-Verwenden Sie externe Filterdefinitionsdatei->
<Copy Today = "$ {dist.dir}/docs">
<fileset dir = "$ {build.dir}/docs">
<einschließen name = "**/*. html">
</fileSet>
<filterset beganntoken = "%" endToken = "*">
<!-Die Attribute und Werte der Dateien werden von außen und die Attribute und Werte des Kommens eingeführt
<filterfile file = "$ {user.dir} /dist.properties" />
</filterset>
</copy>
<!-Verwenden Sie die Referenzmethode, verwenden Sie wiederholt das Filter-Set->
<filterset id = "MyFilterset" BeginToken = "%" endToken = "*">
<filter token = "date" value = "$ {Today}"/>
</filterset>
<Copy File = "$ {build.dir} /version.txt" toFile = "$ {dist.dir} /version.txt">
<filterset refid = "myFilterset"/>
</copy>
18. Pfadtyp
Pfadelemente werden verwendet, um eine Klasse darzustellen, kann aber auch zur Darstellung anderer Pfade verwendet werden. Wenn sie als wenige Attribute verwendet werden, werden die verschiedenen Bewertungen oder Kolonen in der Straßenschriften getrennt. Beim Erstellen ersetzt dieses Trennzeichen alle Pfadabschlüsse auf der aktuellen Plattform, und seine Attribute sind wie folgt.
● Der Ort repräsentiert eine Datei oder ein Verzeichnis. Ant erweitert dies in einem absoluten Weg intern.
● REFID ist ein Verweis auf einen Pfad, der in der aktuellen konstruktiven Datei definiert ist.
● Pfad zeigt eine Datei- oder Pfadliste an.
Beispielkopiecode Code ist wie folgt:
<path id = "BuildPath">
<Fileset refid = "lib.runtime"/>
<Fileset refid = "lib.container"/>
<fileset refid = "lib.extras"/>
</Path>
<path id = "src.Paths">
<fileset id = "srcs" Dir = ".">
<einschließen name = "src/**/*. java"/>
</fileSet>
</Path>
8. Der Codecode der Zusammenstellung des Packens und des Ausführens von Engineering lautet wie folgt: wie folgt:
<xml Version = "1.0" coding = "utf-8"?>
<!-Name ist der Name des aktuellen Projekts.
<Project name = "
<!-Eigenschaft ähnelt einer einfachen Variablen im Programm->
<Propoperty name = "src" value = "src"/>
<Eigenschaft name = "dest" value = "class"/>
<Eigenschaft name = "hello_jar" value = "helloWorld.jar"/>
<!-
Target ist ein Ereignis, ein Ereignis, der Name, der Name der aktuellen Sache.
->
<!-Initialisierung->
<Zielname = "init">
<!
<mkdir dir = "$ {dest}"/>
<mkdir dir = "temp"/>
<mkdir dir = "temp2"/>
</target>
<!-Compilation->
<Zielname = "kompilieren" hängt ab. "Init">
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Setzen Sie den JVM-Speicher
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" ausführbar = "d:/sdk141/bin/javac"
maem memoryMaximumsize = "128m"/>
->
</target>
<!-<< 建->
<Zielname = "Build" abhängig = "Compile">
<!-
<jar jarfile = "$ {hello_jar}" basiertir = "$ {dest}"/>
Erstellen Sie einen Namen für Paket.jar -Datei
<jar destfile = "package.jar" basiertir = "Klassen"/>
->
<jar destfile = "$ {hello_jar}" basierendir = "classses">
<!-Inhalte in der Hauptdatei im JAR-Paket-> Inhalte hinzufügen
<manifest>
<Attribut name = "integriert" value = "$ {user.name}"/>
<Attribut name = "Main-Klasse" value = "package.main"/>/>
</manifest>
</jar>
<!-kopieren
<Copy File = "$ {hello_jar}" toFile = "$ {dest} /temp.jar" />
<kopieren todir = "test">
<!-defaultExcludes = ""->
<fileset dir = "src">
<include name = "**/*. Java"/>
</fileSet>
</copy>
<kopieren todir = "temp2">
<fileset dir = "src">
<Und>
<enthalten text = "main"/>
<Größe Value = "1" When = "More"/>
</und>
</fileSet>
</copy>
<!-Mobile Jar-Datei->
<move File = "$ {dest} /temp.jar" toFile = "temp/move-temp.jar"/>
<!-erstellen Sie ZIP->
<ZIP -Basienheit = "$ {basierendir}/class" ZipFile = "temp/output.zip"/>/>
<!-Erstellen Sie TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractdir"/>
<!
<ersetzen Sie File = "input.txt" token = "Old" value = "new"/>
->
</target>
<!
<Ziel name = "run" abhängig = "bauen">
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
</target>
<!-Clear->
<Zielname = "Clear">
<!-Die generierte Datei-> gelöscht
<delete dir = "$ {dest}"/>
<delete File = "$ {hello_jar}"/>
</target>
<Tstamp>
<Format Property = "offset_time"
muster = "HH: MM: SS"
Offset = "10" Einheit = "Minute"/>
</tstamp>
<!-neu starten->
<Zielname = "Raun" hängt ab = "sauber, run">
<echo message = "### $ {tstamp}#$ {Today}#$ {dstamp} ###"/>
<gleichen target = "clean"/>
<gleichen target = "run"/>
</target>
</project>
Es gibt im Grunde so viele Dinge zu sagen. Ant ist nicht schwierig. Unter bestimmten Umständen wurden Effizienz und wiederholte Arbeiten verbessert.