www.wikidata.de-de.nina.az
Apache Ant englisch fur Ameise ist ein in Java geschriebenes Programm zum automatisierten Erzeugen von ausfuhrbaren Computerprogrammen aus Quelltexten Apache AntBasisdatenEntwickler Apache Software FoundationErscheinungsjahr 19 Juli 2000 Version 1 1 Aktuelle Version 1 10 13 1 10 Januar 2023 Betriebssystem PlattformunabhangigProgrammiersprache Java 2 3 Kategorie Build Management ToolLizenz Apache Lizenz Version 2 0ant apache orgEs erfullt den gleichen Zweck wie das sehr verbreitete Programm make namlich die automatisierte Erstellung von installierbaren Software Paketen aus existierendem Quelltext Bibliotheken und sonstigen Dateien Ant ist Open Source startete als Teil des Jakarta Projekts und ist nun ein Apache Top Level Projekt Ant ist ein Apronym und steht fur Another Neat Tool englisch fur Noch ein hubsches Werkzeug Entwickelt wurde die erste Version von James Duncan Davidson der 1999 ein Werkzeug wie make fur Java benotigte wahrend er die erste Jakarta EE Referenz Implementierung entwickelte Davidson gilt ausserdem als Vater von Jakarta Tomcat Fur ihn steht der Name Ant dafur dass es als kleines Programm genau wie die kleinen Ameisen Grosses leisten kann Inhaltsverzeichnis 1 Beschreibung 1 1 Begriffe 1 2 Syntax und Schnittstellen 2 Haufig verwendete Tasks 3 Beispiele fur Targets 4 Siehe auch 5 Literatur 6 Weblinks 7 EinzelnachweiseBeschreibung BearbeitenIm Unterschied zu make ist Ant in Java implementiert und benotigt somit zur Ausfuhrung eine Java Laufzeitumgebung JRE Begriffe Bearbeiten Gesteuert wird Ant durch eine XML Datei die so genannte Build Datei Sie heisst standardmassig build xml In der Build Datei wird ein project deutsch Projekt definiert Dies ist das Wurzelelement der XML Datei Zu einem Software Projekt sollte genau eine Build Datei und damit genau ein Ant Project gehoren Das Ant Project enthalt Targets deutsch Ziele Diese sind vergleichbar mit Funktionen in Programmiersprachen und konnen von aussen zum Beispiel vom Entwickler uber die Kommandozeile oder die Entwicklungsumgebung gezielt aufgerufen werden Die Targets sollten in ihrer Gesamtheit alle bei der Arbeit mit einem Software Projekt anfallenden Tatigkeiten abdecken Zwischen den Targets konnen Abhangigkeiten definiert werden entsprechend den Anforderungen an die Abhangigkeiten Beim Aufrufen eines Targets lost Ant diese Abhangigkeiten auf und arbeitet die Targets entsprechend ab Wenn man ein Target definiert hat welches direkt oder indirekt Abhangigkeiten zu anderen Targets hat so genugt es dieses aufzurufen und Ant fuhrt dann alle notwendigen Arbeitsschritte in der richtigen Reihenfolge aus Im Project kann ein Target als Default Target angegeben werden Dies ist normalerweise das Target das aus dem Rohzustand oder einem Zwischenzustand des Software Projektes die jeweils notigen Schritte durchfuhrt um einen lauffahigen Zustand herzustellen Ein Target besteht aus Aufrufen von Tasks deutsch Aufgaben Sie sind vergleichbar mit Befehlen in Programmiersprachen Syntax und Schnittstellen Bearbeiten Da es sich bei der Build Datei um eine XML Datei handelt hangt ihre Bedeutung nicht von Tabulatorzeichen Leerzeichen oder Pfadtrennzeichen ab die auf unterschiedlichen Betriebssystemen unterschiedlich definiert sind Dies ist insbesondere eine Verbesserung gegenuber den von make benutzten Makefiles Ant ist ein offenes System mit definierten Schnittstellen wodurch es z B durch selbst erstellte Tasks beliebig erweitert werden kann Viele Java Werkzeuge unterstutzen Ant Ausserdem lasst es sich auch in eigene Anwendungen z B Installationsprogramme einbinden um verschiedenste meist Batch artige Aufgaben zu ubernehmen Haufig verwendete Tasks BearbeitenAnt enthalt uber 150 Tasks wobei man auch eigene Tasks in Java selbst programmieren kann Diese Liste enthalt einige eingebaute englisch built in Tasks von Ant javac zum Kompilieren von Quellcode copy zum Kopieren von Dateien delete zum Loschen von Dateien oder Verzeichnissen mkdir zum Erstellen von Verzeichnissen junit fur automatisierte JUnit Tests move zum Umbenennen von Dateien oder Verzeichnissen exec zum Ausfuhren von System Programmen Achtung Bei Benutzung dieses Tasks begibt man sich haufig in die Abhangigkeit eines Betriebssystems zip zum Zippen also zum Komprimieren von Dateien cvs zum Durchfuhren von CVS Operationen mail zum Versenden von E Mails replace zum Ersetzen von Text in Dateien Flexibel einsetzbar ist auch der vordefinierte Task Xslt zur Transformation einer XML Datei in z B eine HTML Datei unter Verwendung einer gegebenen XSLT Datei Beispiele fur Targets BearbeitenWahrend Tasks als Java Klassen implementiert sind werden Targets in XML definiert und rufen Tasks auf Es konnen auch eigene Tasks in Form von Java Klassen erstellt werden Der folgende Ausschnitt aus einer typischen Build Datei zeigt zwei Targets build erzeugt ein Verzeichnis und kompiliert eine Menge von Java Klassen dort hinein Es hangt von einem anderen Target clean ab das zuvor einige Verzeichnisse und Dateien loscht um Uberbleibsel fruherer Aufrufe zu beseitigen lt xml version 1 0 gt lt project name Demo basedir default build gt lt property name build classes value bin gt lt property name build lib value lib gt lt property name java dir value gt lt property name name value Wikipedia Demo gt lt property name manifest value manifest gt lt path id classpath gt lt pathelement location gt lt path gt lt Anwendung bauen gt lt target name build depends clean description Baut die komplette Anwendung gt lt Verzeichis anlegen gt lt mkdir dir build classes gt lt Quelltext kompilieren gt lt javac srcdir java dir destdir build classes debug false deprecation true optimize true gt lt classpath refid classpath gt lt javac gt lt Kopiert notwendige Dateien gt lt copy todir build classes gt lt fileset dir java dir gt lt include name properties gt lt include name gif gt lt fileset gt lt copy gt lt Baut die JAR Datei gt lt jar jarfile build lib name jar manifest manifest gt lt fileset dir build classes gt lt jar gt lt target gt lt Aufraumen gt lt target name clean description Raumt die temporar angelegten Dateien weg gt lt Loscht Dateien gt lt delete dir build dir gt lt delete dir dist base gt lt delete dir defaultdist dir gt lt delete gt lt fileset dir includes defaultexcludes no gt lt delete gt lt target gt lt project gt Die mit einem Dollar Zeichen versehenen Bereiche stellen Properties dar Es handelt sich dabei um vorher im Projekt oder in anderen Targets definierte Variablen Siehe auch BearbeitenApache Maven konkurrierendes Build Management Tool fur Java Apache Ivy Subprojekt von Apache Ant zur Verwaltung und Einbindung von Abhangigkeiten Gradle weiteres Build Management Tool fur JavaLiteratur BearbeitenBernd Matzke Ant Addison Wesley ISBN 3 8273 2066 6 Erik Hatcher Steve Loughran Java Entwicklung mit Ant Mitp Verlag 2004 ISBN 3 8266 1409 7 Stefan Edlich Ant kurz amp gut O Reilly 2006 ISBN 3 89721 241 2 Jessy Tilly Eric M Burke Ant The Definitive Guide O Reilly 2002 ISBN 0 596 00184 3 Steve Loughran Eric Hatcher Ant in Action Second Edition of Java Development with Ant Manning ISBN 1 932394 80 X Gunther Popp Projektautomatisierung mit Ant In Konfigurationsmanagement dpunkt Verlag ISBN 978 3 89864 487 7Weblinks BearbeitenAnt HomepageEinzelnachweise Bearbeiten Apache Ant Project News January 10 2023 Apache Ant 1 10 13 Released 10 Januar 2023 abgerufen am 8 Juli 2023 The ant Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 21 September 2018 projects apache org abgerufen am 8 April 2020 Normdaten Sachbegriff GND 4689797 5 lobid OGND AKS LCCN n2002066009 VIAF 181177554 Abgerufen von https de wikipedia org w index php title Apache Ant amp oldid 235627851