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.

  • 🔨 Kerndefinition: Ant ist ein Akronym für Another Neat Tool und wandelt Quellcode über die Kommandozeile in eine ausführbare Anwendung um.
  • 📄 Build-Datei: Alle Anweisungen befinden sich in einer XML-Datei, üblicherweise build.xml genannt, für die keine zusätzliche Programmiersprache erforderlich ist.
  • 🧱 Drei-Knoten-Struktur: Eine Build-Datei verschachtelt immer Aufgaben in Zielen und Ziele in einem einzelnen Projektelement.
  • 🔗 Abhängigkeitskontrolle: Das Attribut „depends“ ordnet die Ziele so an, dass „compile“ immer vor „jar“ und vor „deploy“ ausgeführt wird.
  • ⚙️ Umgebungseinrichtung: Für die Installation werden ein JDK, die Umgebungsvariable ANT_HOME und der Ant-Bin-Ordner benötigt, der dem Systempfad hinzugefügt werden muss.
  • 🆚 Werkzeugvergleich: Ant bietet prozedurale Freiheit, Maven erzwingt Konventionen durch Abhängigkeitsmanagement, und Gradle kombiniert beides mit einem skriptgesteuerten Build.
  • 🌍 Vorteil der Portabilität: Ein Build läuft identisch auf Windows und Linux überall dort, wo ein Java Eine virtuelle Maschine ist verfügbar.

Apache ANT-Tutorial

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).

Apache-Ameise

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

Installieren und konfigurieren Sie Apache Ant auf Windows

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.

Installieren und konfigurieren Sie Apache Ant auf Windows

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.

  1. Klicken Sie mit der rechten Maustaste auf das Symbol „Dieser PC“.
  2. Klicken Sie auf Eigenschaften.

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 4) Gehen Sie zu den Systemeinstellungen.
Klicken Sie auf „Erweiterte Systemeinstellungen“.

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 5) Auf Systemeigenschaften,
Klicken Sie auf die Registerkarte „Erweitert“.

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 6) Ermitteln Sie die Umgebungsvariablen.
Klicken Sie auf die Schaltfläche „Umgebungsvariablen…“.

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 7) Erstelle eine neue Variable.
Klicken Sie auf „Neu“, um eine neue Benutzervariable zu erstellen.

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 8) Geben Sie die Variablendetails ein.
Geben Sie die Details der neuen Benutzervariablen ein.

  1. Geben Sie als Variablennamen ANT_HOME ein.
  2. Geben Sie als Variablenwert den Ordner an, in dem Ant entpackt wurde, zum Beispiel C:\apache-ant-1.10.17.
  3. Klicken Sie auf die Schaltfläche "OK".

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 9) Variable erstellt.
Klicken Sie auf die Schaltfläche "OK".

Installieren und konfigurieren Sie Apache Ant auf Windows

Schritt 10) Schließen Sie den Bildschirm.
Klicken Sie auf „OK“, um den Bildschirm zu schließen.

Installieren und konfigurieren Sie Apache Ant auf Windows

💡 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:

Installieren und konfigurieren Sie Apache Ant auf Windows

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 einfach antDa „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

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 -projecthelp listet 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.

Häufig gestellte Fragen

Ant ist ein Akronym für Another Neat Tool (Ein weiteres nützliches Tool). James Duncan Davidson entwickelte es im Juli 2000 während seiner Arbeit am Tomcat-Build und spendete es der Apache Software Foundation. Foundation.

Nein, Ant sucht standardmäßig im aktuellen Verzeichnis nach der Datei build.xml. Jeder andere Name funktioniert, wenn er mit der Option -f oder -buildfile in der Befehlszeile angegeben wird.

Nicht allein. Apache Ivy ist das Begleitprojekt, das die Auflösung von Abhängigkeiten ermöglicht und Artefakte aus denselben Repositories herunterladen kann, die auch Maven verwendet.

Der Ordner „bin“ fehlt in der Umgebungsvariablen „Path“, oder „ANT_HOME“ verweist auf das falsche Verzeichnis. Öffnen Sie nach der Bearbeitung der Variablen eine neue Eingabeaufforderung, da bestehende Fenster die alten Werte beibehalten.

Ja, für Standard-Kompilierungs-, JAR- und Testziele. Überprüfen Sie die Einträge im Klassenpfad und das Attribut „includeantruntime“, da generierte Dateien diese oft auslassen und dadurch irreführende Warnungen erzeugen.

Ja, zur Beibehaltung des bestehenden Systems. Java Systeme, bei denen die bestehende Konfiguration nicht kostengünstig migriert werden kann. Neue Projekte beginnen üblicherweise mit Maven oder Gradle, welche KI-Tools auch zuverlässiger unterstützen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: