Apache ANT-Tutorial: Was ist das Ant Build Tool? Beispiel
⚡ Intelligente Zusammenfassung
Apache ANT ist ein Java Ein Build-Tool, das Kompilierung, Tests, Paketierung und Bereitstellung mithilfe einer XML-Build-Datei automatisiert. Dieser Artikel beschreibt das Tool. tracseine Geschichte, umfasst Windows Installation, erläutert die Projektstruktur und vergleicht sie mit Maven und Gradle.
Was ist ein Build-Tool?
Ein Build-Tool ist ein Programmiertool, mit dem eine neue Version eines Programms erstellt wird. Es automatisiert die Erstellung einer ausführbaren Anwendung aus einem beliebigen Quellcode.
Ohne ein Build-Tool müsste ein Entwickler bei jeder Änderung jede Quelldatei manuell kompilieren, Ressourcen kopieren, die Testsuite ausführen und das Ergebnis verpacken. Ein Build-Tool zeichnet diese Schritte einmalig auf und wiederholt sie identisch auf jedem Rechner.
Was ist Apache Ant?
Apache-Ameise ist eine Java-basiertes Kommandozeilentool zum Erstellen Java Anwendungen mit der vollen Portabilität von reinem Java Ant ermöglicht es Entwicklern, agile Prinzipien und testgetriebene Entwicklung anzuwenden, um wiederkehrende Entwicklungsaufgaben wie die Dokumentationserstellung zu automatisieren. Ant ist ein Akronym für Another Neat Tool (Ein weiteres nützliches Tool).
Wie das Diagramm zeigt, liest Ant eine Build-Datei, ermittelt die Reihenfolge der darin enthaltenen Ziele und führt dann die einzelnen Aufgaben aus, die die Anwendung kompilieren, kopieren, testen und verpacken.
Wofür wird das Apache Ant Build-Tool verwendet?
Hier sind wichtige Vorteile der Verwendung des Build-Tools:
- Ein Build-Tool ermöglicht die Automatisierung bestimmter sich wiederholender Aufgaben wie das Kompilieren des Quellcodes, das Ausführen von Softwaretests und das Erstellen von Dateien für die Softwarebereitstellung.
- Build-Tools laufen meist ohne grafische Benutzeroberfläche.
- Es hilft Ihnen dabei, Quellcode in ausführbaren Code umzuwandeln.
- Es bietet die Möglichkeit, eine Datei nur bei Bedarf neu zu kompilieren.
- Es ermöglicht Ihnen, eine große Anzahl von Dateien in relativ kurzer Zeit zu kompilieren.
- Zwei weit verbreitete Build-Tools von Java Die Entwickler sind Apache Maven und Ant.
Geschichte der Apache Ant
Nun werden wir die Geschichte des Build-Tools Apache Ant kennenlernen.
Hier sind wichtige historische Meilensteine des Apache Ant-Tools:
- James Duncan Davidson entwickelte Ant im Juli 2000.
- Es wurde ursprünglich zum Erstellen von Tomcat verwendet und war ein fester Bestandteil des Tomcat-Distributionspakets.
- Im Mai 2014 wurde Apache Ant Version 1.9.4 mit vielen erweiterten Funktionen veröffentlicht.
- Die 1.10.x-Linie entstand 2017 und ist nach wie vor der aktiv gepflegte Zweig.
- Version 1.10.17 wurde am 10. April 2026 veröffentlicht und erfordert mindestens Java 8 Laufzeit.
Funktionen von Apache Ant
Hier sind die wichtigsten Funktionen von Apache Ant:
- Es ist ein Open-Source-Projekt.
- Es ermöglicht Ihnen, Builds auf beiden Systemen auszuführen. Windows und UNIX- oder Linux-Systeme.
- Sie benötigen lediglich ein JVM, da es überall dort läuft, wo eine JVM verfügbar ist.
- Es bietet eine umfangreiche Auswahl vordefinierter Aufgaben.
- Es hilft Ihnen dabei, Dateien von einem Ort zum anderen zu kopieren.
- Es bietet eine Schnittstelle zur Entwicklung benutzerdefinierter Aufgaben.
- Es ermöglicht das Aufrufen von Builds über die Befehlszeile und lässt sich problemlos integrieren mit kostenlose und kommerzielle IDEs.
- Es ermöglicht Ihnen, die Binärdateien auf einem Testserver bereitzustellen.
- Es bietet eine erweiterbare Architektur.
- Es bietet Rückwärtskompatibilität über verschiedene Versionen hinweg.
So installieren und konfigurieren Sie Apache Ant auf Windows
Nun lernen wir den Installationsprozess von Apache Ant kennen. Windows.
Wir gehen davon aus, dass Sie das bereits heruntergeladen und installiert haben Java Entwicklungskit (JDK) auf Ihrem Computer. Stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME auf den Ordner gesetzt ist, in dem Ihr JDK installiert ist. Führen Sie die folgenden Schritte aus, um Ant zu installieren:
Schritt 1) Laden Sie die Binärdateien herunter.
Laden Sie die Binärdateien herunter von https://ant.apache.org/bindownload.cgi
Schritt 2) Dateien entpacken.
Entpacken Sie diese ZIP-Datei an einem geeigneten Ort, z. B. in den Ordner C:\, mit folgendem Befehl: WinZip, WinRAR, 7-Zipoder ein ähnliches Werkzeug.
Schritt 3) Erstellen Sie eine Umgebungsvariable.
Erstellen Sie eine Umgebungsvariable für „ANT_HOME“ und weisen Sie der Variablen den Wert des Speicherorts des Ant-Ordners zu.
- Klicken Sie mit der rechten Maustaste auf das Symbol „Dieser PC“.
- Klicken Sie auf Eigenschaften.
Schritt 4) Gehen Sie zu den Systemeinstellungen.
Klicken Sie auf „Erweiterte Systemeinstellungen“.
Schritt 5) Auf Systemeigenschaften,
Klicken Sie auf die Registerkarte „Erweitert“.
Schritt 6) Ermitteln Sie die Umgebungsvariablen.
Klicken Sie auf die Schaltfläche „Umgebungsvariablen…“.
Schritt 7) Erstelle eine neue Variable.
Klicken Sie auf „Neu“, um eine neue Benutzervariable zu erstellen.
Schritt 8) Geben Sie die Variablendetails ein.
Geben Sie die Details der neuen Benutzervariablen ein.
- Geben Sie als Variablennamen ANT_HOME ein.
- Geben Sie als Variablenwert den Ordner an, in dem Ant entpackt wurde, zum Beispiel C:\apache-ant-1.10.17.
- Klicken Sie auf die Schaltfläche "OK".
Schritt 9) Variable erstellt.
Klicken Sie auf die Schaltfläche "OK".
Schritt 10) Schließen Sie den Bildschirm.
Klicken Sie auf „OK“, um den Bildschirm zu schließen.
💡 Tipp: ANT_HOME muss auf den Installationsordner selbst verweisen, nicht auf den darin enthaltenen bin-Ordner. Fügen Sie dann Folgendes hinzu: %ANT_HOME%\bin zur Pfadvariablen, damit der Ant-Befehl von jedem Verzeichnis aus erkannt wird.
Sie können eine erfolgreiche Ant-Installation mit folgendem Befehl überprüfen:ping den Befehl „ant -version“ in der Eingabeaufforderung.
Sie sehen den folgenden Bildschirm:
Beispiel für Apache ANT
Die unten stehende Build-Datei definiert ein einzelnes Ziel namens „hello“, das eine Nachricht ausgibt. Das Projektelement deklariert einen Namen und ein Standardziel, sodass Ant weiß, was ausgeführt werden soll, wenn in der Befehlszeile kein Ziel angegeben wird.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Speichern Sie diese Datei unter dem Namen „build.xml“ und befolgen Sie dann diese beiden Schritte:
- Öffnen Sie die Eingabeaufforderung und wechseln Sie in das Verzeichnis, das die Datei build.xml enthält.
- Führen Sie
ant hello, oder einfachantDa „hello“ als Standardziel festgelegt ist, führen Sie folgenden Befehl aus, um einen anderen Dateinamen zu verwenden:ant -f mybuild.xml hello.
Ausgang:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
ANT-Projektstruktur
ANT-Projektstruktur
Wie das Strukturdiagramm zeigt, wird jedes Gebäude drei Knoten enthalten:
- Projekt
- Target
- Aufgabe
Projekt
Alles in der Build-Datei in Apache ANT befindet sich unter einem Projekt.
Attributes:
- Name: Der Name des Projekts.
- Basedir: Dies ist das Verzeichnis, aus dem alle Pfade berechnet werden. Dies kann mithilfe der Eigenschaft „basedir“ überschrieben werden.
- Standard: Hiermit können Sie das Standardziel für dieses Projekt festlegen. Wenn kein Ziel angegeben wird, führt Ant das Standardziel aus.
Target
Ein Ziel ist eine Reihe von Aufgaben, die definiert sind, um einen bestimmten Zustand im Build-Prozess zu erreichen.
Attributes:
- Name: Name des Ziels (erforderlich).
- Beschreibung: DescriptIon des Ziels.
- Hängt davon ab: Von welchem Ziel dieses aktuelle Ziel abhängt.
- If: Das Ziel wird nur dann ausgeführt, wenn für eine Zieleigenschaft ein Wert festgelegt ist.
- Es sei denn: Das Ziel wird nur dann ausgeführt, wenn der Eigenschaftswert nicht festgelegt ist.
Aufgaben
Eine Aufgabe ist ein Codeabschnitt, der ausgeführt werden kann. Aufgaben haben mehrere Argumente oder Attribute.
Das allgemeine Vorgehen zum Schreiben einer Aufgabe ist:
<name attribute1="value" attribute2="value2"…/>
Sie können entweder eine integrierte Aufgabe verwenden oder eine eigene Aufgabe erstellen. Die folgende Tabelle listet die Aufgaben auf, die in fast jeder Anwendung vorkommen. Java Build-Datei.
| Aufgabe | Zweck | Typische Merkmale |
|---|---|---|
| Echo | Gib eine Nachricht in der Konsole aus. | Nachricht |
| mkdir | Erstellen Sie ein Verzeichnis | dir |
| löschen | Dateien oder Verzeichnisse entfernen | dir, includeemptydirs |
| Javak | Kompilieren Java Quelldaten | srcdir, destdir, includeantruntime |
| Feuer | Packen Sie die Klassen in ein JAR-Archiv. | destfile, basedir |
| Kopieren | Dateien zwischen verschiedenen Speicherorten kopieren | Datei, Verzeichnis |
| junit | Ausführen von Unit-Tests | haltonfailure, printsummary |
Vollständiges build.xml-Beispiel mit mehreren Targets
Eine realistische Build-Datei verknüpft mehrere Ziele miteinander. Das Attribut `depends` garantiert die Reihenfolge, sodass Ant den Ausgabeordner bereinigt, den Quellcode kompiliert und erst dann die JAR-Datei erstellt.
<?xml version="1.0"?> <project name="DemoApp" default="jar" basedir="."> <!-- reusable values --> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <target name="clean" description="Remove previous output"> <delete dir="${build.dir}"/> </target> <target name="compile" depends="clean" description="Compile sources"> <mkdir dir="${build.dir}/classes"/> <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false"/> </target> <target name="jar" depends="compile" description="Package the jar"> <mkdir dir="${build.dir}/jar"/> <jar destfile="${build.dir}/jar/DemoApp.jar" basedir="${build.dir}/classes"> <manifest> <attribute name="Main-Class" value="com.guru99.Main"/> </manifest> </jar> </target> </project>
Ausgang:
Buildfile: C:\projects\DemoApp\build.xml
clean:
[delete] Deleting directory C:\projects\DemoApp\build
compile:
[mkdir] Created dir: C:\projects\DemoApp\build\classes
[javac] Compiling 3 source files to C:\projects\DemoApp\build\classes
jar:
[mkdir] Created dir: C:\projects\DemoApp\build\jar
[jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar
BUILD SUCCESSFUL
Total time: 1 second
Apache Ant vs. Maven vs. Gradle
Drei Bauwerkzeuge dominieren den Java Jedes Ökosystem hat seine eigene Position dazu, wie viel Struktur es vorgeben sollte.
| Parameter | Apache-Ameise | Apache Maven | Gradle |
|---|---|---|---|
| Build-Skript-Format | XML | XML | Groovy oder Kotlin DSL |
| Ansatz | Verfahrensorientiert, Sie definieren jeden Schritt. | Deklarativ, Konvention vor Konfiguration | Deklarativ mit skriptbasierten Erweiterungen |
| Abhängigkeitsmanagement | Nicht integriert, sondern über Apache Ivy hinzugefügt. | Integriertes zentrales Repository | Integriert, Maven-kompatibel |
| Projektstruktur | Komplett frei | Feste Standardanordnung | Konventionsbasiert, aber überschreibbar |
| Inkrementelle Builds | Begrenzt | Begrenzt | Ja, mit einem Build-Cache. |
| Lernkurve | Niedrig für XML-Benutzer | Moderat | Steeper erfordert DSL |
| am besten geeignet für | Legacy-Projekte und hochgradig individuelle Bauten | Standard Java Projekte | Große Multi-Modul- und Android Projekte |
Ant bleibt die pragmatische Wahl, wenn ein Projekt nicht in ein Standardlayout passt oder wenn ein bestehendes Projekt bereits auf handgeschriebenen Zielvorgaben basiert.
Best Practices zur Verwendung von Apache Ant
Hier sind einige bewährte Vorgehensweisen für die Verwendung von Apache Ant.
- Sie sollten die Build-Nummerierung mithilfe von Eigenschaftendateien automatisieren.
- Implementieren Sie einen konfigurierbaren Build mithilfe von Standard- und Build-Eigenschaftsdateien. Diese Dateien ermöglichen es Ihnen, Eigenschaften zu speichern, die die Daten für Ihren Build-Prozess definieren, wie z. B. Compilerversion und Optimierungseinstellungen.
- Sie können vorgefertigte Bibliotheken mithilfe von Bibliothekseigenschaftendateien wiederverwenden.
- Weisen Sie jedem Ziel ein Beschreibungsattribut zu, so dass
ant -projecthelplistet eine brauchbare Zusammenfassung des Builds auf. - Halten Sie das Zielverzeichnis separat und löschen Sie niemals ein Verzeichnis, das auch Quelldateien enthält.
Vorteile der Verwendung von Apache Ant
Hier die Vorteile der Verwendung von Apache Ant:
- Ant ist plattformneutral und hilft Ihnen daher bei der Verwaltung plattformspezifischer Eigenschaften wie Dateitrennzeichen.
- Ant ermöglicht die Ausführung plattformspezifischer Aufgaben, wie beispielsweise das Ändern des Änderungsdatums einer Datei mithilfe des Befehls 'touch'.
- Ant-Skripte werden in einfachem Code geschrieben. XMLWenn Sie also bereits mit XML vertraut sind, werden Sie Ant schnell erlernen können.
- Ant bietet eine große Liste vordefinierter Aufgaben.
- Es bietet eine Schnittstelle für die Entwicklungping kundenspezifische Aufgaben.
- Ant lässt sich einfach über die Kommandozeile aufrufen, was die Integration mit kostenlosen und kommerziellen IDEs ermöglicht.
- Sie benötigen lediglich eine JVM, daher läuft es überall dort, wo eine JVM verfügbar ist.
- Apache Ant ist eine Open-Source-Bibliothek, die es Benutzern ermöglicht, auf den Quellcode zuzugreifen und ihn zu reproduzieren.
- Apache Ant ist ein plattformübergreifendes Tool, mit dem Sie die folgenden Prozesse verwalten können: Java Klassenpfad und Dateiverzeichnisstruktur auf kostengünstige Weise.
- Apache Ant ist mit einfach erweiterbar Java und andere Programmiersprachen.
- Apache Ant bietet integrierte Unterstützung für die J2EE-Entwicklung, wie z. B. EJB-Kompilierung und -Paketierung.
- Sie können es sowohl für ein kleines persönliches Projekt als auch für ein großes Softwareprojekt oder eine Website verwenden.
Ant wird häufig mit einem Test-Runner und einem Continuous-Integration-Server kombiniert. Siehe JUnit für die Testschicht, Jenkins für geplante Builds, und Verwendung von Apache Ant mit Selenium für die Browser-Testautomatisierung. Berichte, die während eines Builds erstellt werden, können gerendert werden mit JasperReports.














