Definition „Apache Ant“

Was ist Ant?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Apache Ant nimmt dem Entwickler kleinteilige und mitunter sehr lästige Aufgaben ab.
Apache Ant nimmt dem Entwickler kleinteilige und mitunter sehr lästige Aufgaben ab. (Bild: tchompalov - Unsplash.com)

Apache Ant ist ein Werkzeug in Form einer Java-Bibliothek, die das Bauen und Verteilen von Software automatisieren kann. Das Tool übernimmt dabei zuverlässig zahlreiche Routineaufgaben.

Apache Ant ist ein Programm, mit dem man automatisiert Java-Programme bauen, testen und ausliefern kann. Es ist kostenlos und plattformunabhängig. Ant ermöglicht das Anlegen von Build-Skripten, in denen sich Tätigkeiten wie Kompilieren, Installieren oder Paketieren beschreiben lassen. Anschließend kann man das Skript beliebig oft ausführen, so dass dieses alle darin festgelegten Schritte immer wieder automatisch ausführt.

Apache Ant ist in Anlehnung an Make entstanden und wurde 2000 veröffentlicht; Make ist ein vergleichbares Tool aus dem Unix-Umfeld, das ursprünglich für C-Programme entwickelt wurde. Apache Ant hat seit 2004 einen Nachfolger: Maven, ebenfalls aus dem Hause Apache. Das Tool bietet leicht abweichende Funktionalität wie zum Beispiel ein erleichtertes Management von Abhängigkeiten.

Portables Leichtgewicht

Apache Ant ist im Vergleich zu Maven auch heute noch flexibler und bietet trotz seiner geringen Größe viel Potenzial. Da das System vollständig auf Java basiert, ist es im gleichen Maße plattformunabhängig wie Java selbst. Gleiches gilt für die Build-Files: Auch sie können zwischen verschiedenen Plattformen verschoben werden, weil sie ebenso unabhängig aufgebaut sind. Damit sind mit Apache Ant gebaute Projekte hoch portabel.

Skripting in XML

Die Skripte, mit denen Ant seine Anweisungen zum Bauen und Bereitstellen von Software erhält, werden in XML verfasst. Die strenge Strukturierung, die XML vorgibt, macht Ants Build-Skripte gut nachvollziehbar, kann jedoch bei größeren Projekten etwas unhandlich werden. Das Skript dient dem Build-Prozess als eine Art Anleitung, was in welcher Reihenfolge abgearbeitet werden soll. Die Anweisungen enthalten exakt ein Projekt.

Jedem Projekt lassen sich beliebig viele Targets zuordnen; Targets sind Ziele für die folgenden Tasks. Jedem Target können wiederum mehrere Tasks zugeordnet werden, die schließlich die konkreten Anweisungen für die Verarbeitung enthalten. Zudem gibt es noch Properties, die innerhalb des Skripts ähnlich wie globale Konstanten verwendet werden können.

Targets

Targets kann man als Container betrachten, in denen beliebig viele Tasks gruppiert werden können. Targets können bei Bedarf transitiv voneinander abhängig sein. Damit kann man zum Beispiel erreichen, dass bestimmte Tasks abgeschlossen werden, bevor die Abarbeitung fortschreitet.

Tasks

Intern sind Tasks Klassen, die auf bestimmte Aufgaben rund um Erstellung und Verteilung von Software spezialisiert sind. Sie werden im Kontext eines Targets aufgerufen und können parallel oder sequenziell ausgeführt werden. Je nach Task können mehrere Argumente übergeben werden. Apache Ant wird von Haus aus mit über 150 vorbereiteten Tasks ausgeliefert. Es handelt sich um häufig anfallende Aufgaben, die typisch für jedes Java-Projekt sind. Darüber hinaus gibt es diverse Bibliotheken mit weiteren Funktionen, die ebenfalls herangezogen werden können.

Eigene Tasks entwerfen

Falls die mitgelieferten Tasks den eigenen Anwendungsfall nicht abdecken, können jederzeit eigene Anweisungen formuliert werden. Hierfür muss je Task eine eigene Java-Klasse implementiert werden, die eine von Ants Basisklassen für Tasks erweitert. Man ist also sehr flexibel und muss auch für Spezialfälle nicht auf die Automatisierung verzichten.

Vorteile der Automatisierung mit Ant

Ant nimmt dem Entwickler simple Aufgaben ab, die manuell sehr mühsam sind. Zum einen spart das Tool somit Zeit, die an anderer Stelle besser investiert werden kann. Zum anderen bewahrt es vor Leichtsinnsfehlern, die sich bei langweilig anmutenden Prozessen gerne in erhöhtem Maße einschleichen. Unterm Strich wird der Build-Prozess also effizienter und zuverlässiger.

Für alle Tasks, die häufiger vorkommen, lohnt sich die Automatisierung. Gerade bei Routineaufgaben, die immer wieder mit den gleichen Parametern ausgeführt werden sollen, gestaltet das die Arbeit komfortabler. Das Ausführen von Skripten kann mit modernen Betriebssystemen zudem automatisch angestoßen werden, zum Beispiel als Cron Job auf Unix-Systemen oder als geplante Tasks unter Windows. Somit sind auch Anwendungen wie tägliche Builds mit Ant realisierbar.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Entwickler bauen auf Java 8 und IntelliJ IDEA

JVM Ecosystem Report 2018 von Snyk

Entwickler bauen auf Java 8 und IntelliJ IDEA

Das Java Development Kit, kurz JDK, hat mit dem Update auf Java 9 fundamentale Änderungen erfahren. Dies dürfte ein Grund dafür sein, dass Java 8 nach wie vor die verbreitetste Plattform für Anwendungen in der Produktivumgebung ist. lesen

OWASP – Community für Anwendungssicherheit

Open Web Application Security Project

OWASP – Community für Anwendungssicherheit

OWASP ist eine offene Community mit Fokus auf dem Thema IT-Security in Anwendungen mit Schwerpunkt auf Web-Anwendungen. Neben guten Infos gibt es auch spannende Tools für Entwickler und Security-Interessierte. lesen

Build-Projekt mit AWS CodeBuild umsetzen

Amazon Web Services für Entwickler, Teil 5

Build-Projekt mit AWS CodeBuild umsetzen

Mit CodeBuild steht ein voll verwalteter Build-Service in der Cloud zur Verfügung, ähnlich dem Open Build Service von SUSE, aber vollständig integriert mit AWS. Damit können Entwickler ihren auf CodeCommit gehosteten Quellcode kompilieren, Komponententests ausführen und Artefakte erzeugen, die sich dann mit AWS CodeDeploy bereitstellen lassen. lesen

DevOps-Workflows – integrierte Tools und Methoden

Interoperabilität und Sicherheit

DevOps-Workflows – integrierte Tools und Methoden

Die Art und Weise, wie moderne Software entsteht, hat sich im Zuge der DevOps-Revolution grundlegend geändert. Innovative DevOps-Workflows versprechen den Entwicklern eine bisher ungekannte Flexibilität, die ihre Produktivität auf ein neues Niveau hebt. lesen

Continuous Delivery mit Blue/Green-Deployments

Einführung in Continuous Deployment, Teil 1

Continuous Delivery mit Blue/Green-Deployments

Software in Form von Continuous Deployment bereitzustellen, erfordert besondere Strategien und Technologien. So genannte „Blue Green Deployments“ sind zwar nicht neu, entfalten ihre Stärken aber erst in modernen Cloud-Umgebungen wie AWS, da die zugrundeliegenden Konzepte erst mit Cloud-Technologie praktikabel umsetzbar sind. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45353235 / Definitionen)