Εκμάθηση Apache ANT: Τι είναι το Ant Build Tool; Παράδειγμα
⚡ Έξυπνη Σύνοψη
Το Apache ANT είναι ένα Java εργαλείο δημιουργίας που βασίζεται σε ένα εργαλείο που αυτοματοποιεί τη μεταγλώττιση, τον έλεγχο, τη συσκευασία και την ανάπτυξη μέσω ενός αρχείου δημιουργίας XML. Αυτό το άρθρο ορίζει το εργαλείο, tracη ιστορία του, καλύπτει Windows εγκατάσταση, εξηγεί τη δομή του έργου και τη συγκρίνει με το Maven και Gradle.
Τι είναι το Εργαλείο Δόμησης;
Ένα εργαλείο κατασκευής είναι ένα εργαλείο προγραμματισμού που χρησιμοποιείται για την κατασκευή μιας νέας έκδοσης ενός προγράμματος. Αυτοματοποιεί τη δημιουργία μιας εκτελέσιμης εφαρμογής από οποιονδήποτε πηγαίο κώδικα.
Χωρίς ένα εργαλείο δημιουργίας, ένας προγραμματιστής θα μεταγλωττίζει χειροκίνητα κάθε αρχείο πηγαίου κώδικα, θα αντιγράφει πόρους, θα εκτελεί τη σουίτα δοκιμών και θα συσκευάζει το αποτέλεσμα σε κάθε αλλαγή. Ένα εργαλείο δημιουργίας καταγράφει αυτά τα βήματα μία φορά και τα επαναλαμβάνει πανομοιότυπα σε κάθε μηχάνημα.
Τι είναι το Apache Ant;
Απάτσι Αντ είναι ένα Java-Βασισμένο εργαλείο γραμμής εντολών για κατασκευή Java εφαρμογές με την πλήρη φορητότητα του pure Java κώδικα. Επιτρέπει στους προγραμματιστές να υιοθετήσουν αρχές ευέλικτης ανάπτυξης και ανάπτυξη μέσω δοκιμών για να αυτοματοποιήσουν επαναλαμβανόμενες εργασίες ανάπτυξης, όπως η δημιουργία τεκμηρίωσης. Το Ant είναι αρκτικόλεξο για το Another Neat Tool.
Όπως δείχνει το διάγραμμα, το Ant διαβάζει ένα αρχείο δημιουργίας, επιλύει τη σειρά των στόχων μέσα σε αυτό και στη συνέχεια εκτελεί τις μεμονωμένες εργασίες που μεταγλωττίζουν, αντιγράφουν, δοκιμάζουν και συσκευάζουν την εφαρμογή.
Σε τι χρησιμοποιείται το εργαλείο Apache Ant Build;
Ακολουθούν σημαντικά οφέλη από τη χρήση του εργαλείου δημιουργίας:
- Ένα εργαλείο δημιουργίας σάς επιτρέπει να αυτοματοποιείτε συγκεκριμένες επαναλαμβανόμενες εργασίες, όπως η μεταγλώττιση του πηγαίου κώδικα, η εκτέλεση δοκιμών λογισμικού και η δημιουργία αρχείων για ανάπτυξη λογισμικού.
- Τα εργαλεία δημιουργίας λειτουργούν κυρίως χωρίς γραφικό περιβάλλον χρήστη.
- Σας βοηθά να μετατρέψετε τον πηγαίο κώδικα σε εκτελέσιμο κώδικα.
- Προσφέρει την επιλογή επαναμεταγλώττισης ενός αρχείου μόνο εάν είναι απαραίτητο.
- Σας επιτρέπει να μεταγλωττίσετε μεγάλο αριθμό αρχείων σε σχετικά σύντομο χρονικό διάστημα.
- Δύο ευρέως δημοφιλή εργαλεία κατασκευής που χρησιμοποιούνται από Java Οι προγραμματιστές είναι Apache Maven και Αντ.
Ιστορία του Απάτσι Αντ
Τώρα θα μάθουμε για την ιστορία του εργαλείου δημιουργίας Apache Ant.
Ακολουθούν σημαντικά ιστορικά ορόσημα από το εργαλείο Apache Ant:
- Ο James Duncan Davidson δημιούργησε το Ant τον Ιούλιο του 2000.
- Αρχικά χρησιμοποιήθηκε για την κατασκευή του Tomcat και ήταν ενσωματωμένο προϊόν του κιτ διανομής Tomcat.
- Τον Μάιο του 2014, κυκλοφόρησε η έκδοση 1.9.4 του Apache Ant με πολλά προηγμένα χαρακτηριστικά.
- Η γραμμή 1.10.x ξεκίνησε το 2017 και παραμένει ο ενεργά συντηρούμενος κλάδος.
- Η έκδοση 1.10.17 κυκλοφόρησε στις 10 Απριλίου 2026 και απαιτεί τουλάχιστον Java 8 χρόνο εκτέλεσης.
Χαρακτηριστικά του Apache Ant
Ακολουθούν τα βασικά χαρακτηριστικά του Apache Ant:
- Είναι ένα έργο ανοιχτού κώδικα.
- Σας επιτρέπει να εκτελείτε builds και στα δύο Windows και συστήματα UNIX ή Linux.
- Χρειάζεστε μόνο ένα FMV, καθώς εκτελείται οπουδήποτε είναι διαθέσιμη μια JVM.
- Προσφέρει ένα ευρύ φάσμα προκαθορισμένων εργασιών.
- Σας βοηθά να αντιγράφετε αρχεία από τη μία τοποθεσία στην άλλη.
- Προσφέρει μια διεπαφή για την ανάπτυξη προσαρμοσμένων εργασιών.
- Σας επιτρέπει να καλέσετε builds από τη γραμμή εντολών, η οποία ενσωματώνεται εύκολα με δωρεάν και εμπορικά IDE.
- Σας επιτρέπει να αναπτύξετε τα δυαδικά αρχεία σε έναν διακομιστή δοκιμών.
- Προσφέρει μια επεκτάσιμη αρχιτεκτονική.
- Προσφέρει συμβατότητα με παλαιότερες εκδόσεις.
Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Apache Ant σε Windows
Τώρα θα μάθουμε τη διαδικασία εγκατάστασης του Apache Ant στο Windows.
Υποθέτουμε ότι έχετε ήδη κατεβάσει και εγκαταστήσει το Java Κιτ ανάπτυξης (JDK) στον υπολογιστή σας. Βεβαιωθείτε ότι η μεταβλητή περιβάλλοντος JAVA_HOME έχει οριστεί στον φάκελο όπου είναι εγκατεστημένο το JDK σας. Ακολουθήστε τα παρακάτω βήματα για την εγκατάσταση του Ant:
Βήμα 1) Κατεβάστε τα δυαδικά αρχεία.
Κατεβάστε τα δυαδικά από https://ant.apache.org/bindownload.cgi
Βήμα 2) Αποσυμπίεση αρχείων.
Αποσυμπιέστε αυτό το αρχείο zip σε μια βολική τοποθεσία, όπως ο φάκελος c:\, χρησιμοποιώντας WinZip, WinRAR, 7-Zip, ή ένα παρόμοιο εργαλείο.
Βήμα 3) Δημιουργήστε μια μεταβλητή περιβάλλοντος.
Δημιουργήστε μια μεταβλητή περιβάλλοντος για το "ANT_HOME" και αντιστοιχίστε την τιμή της μεταβλητής στη θέση του φακέλου Ant.
- Κάντε δεξί κλικ στο εικονίδιο Αυτός ο υπολογιστής.
- Κάντε κλικ στο Properties.
Βήμα 4) Μεταβείτε στις ρυθμίσεις συστήματος.
Κάντε κλικ στο "Σύνθετες ρυθμίσεις συστήματος".
Βήμα 5) Σχετικά με τις ιδιότητες του συστήματος,
κάντε κλικ στην καρτέλα «Για προχωρημένους».
Βήμα 6) Βρείτε τις μεταβλητές περιβάλλοντος.
Κάντε κλικ στο κουμπί «Μεταβλητές περιβάλλοντος…».
Βήμα 7) Δημιουργήστε μια νέα μεταβλητή.
Κάντε κλικ στο «Νέο» για να δημιουργήσετε μια νέα μεταβλητή χρήστη.
Βήμα 8) Εισαγάγετε τις λεπτομέρειες της μεταβλητής.
Εισαγάγετε τις λεπτομέρειες της νέας μεταβλητής χρήστη.
- Εισαγάγετε το όνομα της μεταβλητής ως ANT_HOME.
- Εισαγάγετε την τιμή της μεταβλητής ως τον φάκελο όπου αποσυμπιέστηκε το Ant, για παράδειγμα C:\apache-ant-1.10.17.
- Κάντε κλικ στο κουμπί "OK".
Βήμα 9) Δημιουργήθηκε μεταβλητή.
Κάντε κλικ στο κουμπί "OK".
Βήμα 10) Κλείστε την οθόνη.
Κάντε κλικ στο "OK" για να κλείσετε την οθόνη.
💡 Συμβουλές: Το ANT_HOME πρέπει να δείχνει στον ίδιο τον φάκελο εγκατάστασης και όχι στον φάκελο bin που βρίσκεται μέσα σε αυτόν. Στη συνέχεια, κάντε προσάρτηση %ANT_HOME%\bin στη μεταβλητή Path, έτσι ώστε η εντολή ant να αναγνωρίζεται από οποιονδήποτε κατάλογο.
Μπορείτε να επαληθεύσετε μια επιτυχημένη εγκατάσταση του Ant από το typing την εντολή "ant -version" στη γραμμή εντολών.
Θα δείτε την ακόλουθη οθόνη:
Παράδειγμα Apache ANT
Το παρακάτω αρχείο δημιουργίας ορίζει έναν μοναδικό στόχο με το όνομα hello που εκτυπώνει ένα μήνυμα. Το στοιχείο project δηλώνει ένα όνομα και έναν προεπιλεγμένο στόχο, έτσι ώστε το Ant να γνωρίζει τι να εκτελέσει όταν δεν υπάρχει κάποιος στόχος στη γραμμή εντολών.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Αποθηκεύστε αυτό το αρχείο ως "build.xml" και, στη συνέχεια, ακολουθήστε τα εξής δύο βήματα:
- Ανοίξτε τη γραμμή εντολών και μετακινηθείτε στον κατάλογο που περιέχει το αρχείο build.xml.
- τρέξιμο
ant hello, ή απλάant, επειδή το hello έχει δηλωθεί ως ο προεπιλεγμένος προορισμός. Για να χρησιμοποιήσετε διαφορετικό όνομα αρχείου, εκτελέστεant -f mybuild.xml hello.
Παραγωγή:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
Δομή Έργου ANT
Δομή Έργου ANT
Όπως δείχνει το διάγραμμα δομής, κάθε κατασκευή θα περιέχει τρεις κόμβους:
- ΕΡΓΟ
- Target
- Έργο
ΕΡΓΟ
Τα πάντα μέσα στο αρχείο build στο Apache ANT είναι υπό έργο.
Χαρακτηριστικά:
- Όνομα: Το όνομα του έργου.
- Βασισμένος: Αυτός είναι ο κατάλογος από τον οποίο θα υπολογιστούν όλες οι διαδρομές. Αυτό μπορεί να παρακαμφθεί χρησιμοποιώντας την ιδιότητα "basedir".
- Αθέτηση: Σας βοηθά να ορίσετε τον προεπιλεγμένο στόχο για αυτό το έργο. Εάν δεν δοθεί στόχος, τότε το Ant θα εκτελέσει τον προεπιλεγμένο στόχο.
Target
Ένας στόχος είναι ένα σύνολο εργασιών, το οποίο ορίζεται για να φτάσει σε μια συγκεκριμένη κατάσταση στη διαδικασία δημιουργίας.
Χαρακτηριστικά:
- Όνομα: Όνομα του στόχου (απαιτείται).
- Descriptιόν: Descriptιόν του στόχου.
- Εξαρτάται από: Από ποιον στόχο εξαρτάται αυτός ο τρέχων στόχος.
- Αν: Εκτελεί τον στόχο μόνο εάν έχει οριστεί τιμή για μια ιδιότητα στόχου.
- Εκτός: Εκτελεί τον στόχο μόνο εάν δεν έχει οριστεί η τιμή της ιδιότητας.
καθήκοντα
Μια εργασία είναι ένα κομμάτι κώδικα που μπορεί να εκτελεστεί. Οι εργασίες έχουν πολλαπλά ορίσματα ή χαρακτηριστικά.
Η γενική μεθοδολογία για τη σύνταξη μιας εργασίας είναι η εξής:
<name attribute1="value" attribute2="value2"…/>
Μπορείτε είτε να χρησιμοποιήσετε μια ενσωματωμένη εργασία είτε να δημιουργήσετε τη δική σας. Ο παρακάτω πίνακας παραθέτει τις εργασίες που εμφανίζονται σχεδόν σε κάθε Java αρχείο δημιουργίας.
| Έργο | Σκοπός | Τυπικά Χαρακτηριστικά |
|---|---|---|
| ηχώ | Εκτύπωση μηνύματος στην κονσόλα | μήνυμα |
| mkdir | Δημιουργήστε έναν κατάλογο | dir |
| διαγράψετε | Αφαίρεση αρχείων ή καταλόγων | κατάλογος, includeemptydirs |
| javac | Μεταγλωττίστε Java αρχεία πηγής | srcdir, destdir, περιλαμβάνειantruntime |
| φωτιά | Συσκευασία κλάσεων σε ένα αρχείο jar | αρχείο προορισμού, basedir |
| αντίγραφο | Αντιγραφή αρχείων μεταξύ τοποθεσιών | αρχείο, todir |
| χύμα | Εκτέλεση δοκιμών μονάδας | haltonfailure, περίληψη εκτυπώσεων |
Πλήρες παράδειγμα build.xml με πολλαπλά Targets
Ένα ρεαλιστικό αρχείο δημιουργίας συνδέει αρκετούς στόχους μαζί. Το χαρακτηριστικό depends εγγυάται τη σειρά, επομένως το Ant καθαρίζει τον φάκελο εξόδου, μεταγλωττίζει τον πηγαίο κώδικα και μόνο τότε δημιουργεί το jar.
<?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>
Παραγωγή:
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 εναντίον Maven εναντίον Gradle
Τρία εργαλεία κατασκευής κυριαρχούν Java οικοσύστημα, και το καθένα παίρνει διαφορετική θέση σχετικά με το πόση δομή πρέπει να επιβάλει.
| Παράμετρος | Απάτσι Αντ | Apache Maven | Gradle |
|---|---|---|---|
| Μορφή δημιουργίας σεναρίου | XML | XML | Groovy ή Kotlin DSL |
| Προσέγγιση | Διαδικαστικό, εσείς καθορίζετε κάθε βήμα | Δηλωτική, σύμβαση έναντι διαμόρφωσης | Δηλωτικό με επεκτάσεις σεναρίου |
| Διαχείριση εξάρτησης | Δεν ενσωματώνεται, προστέθηκε μέσω του Apache Ivy | Ενσωματωμένο με κεντρικό αποθετήριο | Ενσωματωμένο, συμβατό με Maven |
| Δομή έργου | Εντελώς δωρεάν | Σταθερή τυπική διάταξη | Βασίζεται σε σύμβαση αλλά μπορεί να παρακαμφθεί |
| Σταδιακές κατασκευές | Περιωρισμένος | Περιωρισμένος | Ναι, με προσωρινή μνήμη δημιουργίας |
| Καμπύλη εκμάθησης | Χαμηλό για χρήστες XML | Μέτρια | Πιο απότομο, απαιτεί DSL |
| καλυτερα suited for | Παλαιότερα έργα και κατασκευές υψηλής προσαρμογής | Βασική Java έργα | Μεγάλο πολυμοντέλο και Android έργα |
Το Ant παραμένει η πρακτική επιλογή όταν μια κατασκευή δεν ταιριάζει σε μια τυπική διάταξη ή όταν ένα υπάρχον έργο εξαρτάται ήδη από χειρόγραφους στόχους.
καλυτερα πρακτικα Using Apache Ant
Ακολουθούν ορισμένες βέλτιστες πρακτικές για τη χρήση του Apache Ant.
- Θα πρέπει να αυτοματοποιήσετε την αρίθμηση κτιρίων χρησιμοποιώντας αρχεία ιδιοκτησίας.
- Υλοποιήστε μια διαμορφώσιμη έκδοση με τη βοήθεια των προεπιλεγμένων αρχείων και των αρχείων ιδιοτήτων έκδοσης. Αυτά τα αρχεία σάς επιτρέπουν να αποθηκεύετε ιδιότητες που ορίζουν τα δεδομένα για τη διαδικασία έκδοσης, όπως την έκδοση του μεταγλωττιστή και τις ρυθμίσεις βελτιστοποίησης.
- Μπορείτε να επαναχρησιμοποιήσετε προκατασκευασμένες βιβλιοθήκες χρησιμοποιώντας αρχεία ιδιοτήτων βιβλιοθήκης.
- Δώστε σε κάθε στόχο ένα χαρακτηριστικό περιγραφής, έτσι ώστε
ant -projecthelpπαραθέτει μια χρήσιμη σύνοψη της κατασκευής. - Κρατήστε τον καθαρό προορισμό ξεχωριστά και μην διαγράφετε ποτέ έναν κατάλογο που περιέχει επίσης αρχεία πηγαίου κώδικα.
Πλεονεκτήματα της χρήσης Apache Ant
Ακολουθούν τα οφέλη από τη χρήση του Apache Ant:
- Το Ant είναι ουδέτερο ως προς την πλατφόρμα, επομένως σας βοηθά να διαχειρίζεστε ιδιότητες που βασίζονται στην πλατφόρμα, όπως διαχωριστές αρχείων.
- Το Ant σάς επιτρέπει να εκτελείτε εργασίες που αφορούν συγκεκριμένες πλατφόρμες, όπως η τροποποίηση της τροποποιημένης ώρας ενός αρχείου χρησιμοποιώντας την εντολή 'touch'.
- Τα σενάρια Ant γράφονται με απλό XML, επομένως, αν είστε ήδη εξοικειωμένοι με την XML, θα μπορείτε να μάθετε γρήγορα την Ant.
- Το Ant προσφέρει μια μεγάλη λίστα προκαθορισμένων εργασιών.
- Προσφέρει μια διεπαφή για ανάπτυξηping εξατομικευμένες εργασίες.
- Μπορείτε εύκολα να καλέσετε το Ant από τη γραμμή εντολών, κάτι που επιτρέπει την ενσωμάτωση με δωρεάν και εμπορικά IDE.
- Χρειάζεστε μόνο μια JVM, επομένως εκτελείται οπουδήποτε είναι διαθέσιμη μια JVM.
- Το Apache Ant είναι μια βιβλιοθήκη ανοιχτού κώδικα που επιτρέπει στους χρήστες να έχουν πρόσβαση στον πηγαίο κώδικα και να τον αναπαράγουν.
- Το Apache Ant είναι ένα εργαλείο πολλαπλών πλατφορμών που σας επιτρέπει να χειρίζεστε το Java classpath και δομή καταλόγου αρχείων με προσιτό τρόπο.
- Το Apache Ant είναι εύκολα επεκτάσιμο με χρήση Java και άλλες γλώσσες προγραμματισμού.
- Το Apache Ant προσφέρει ενσωματωμένη υποστήριξη για ανάπτυξη J2EE, όπως μεταγλώττιση και συσκευασία EJB.
- Μπορείτε να το χρησιμοποιήσετε για ένα μικρό προσωπικό έργο καθώς και για ένα μεγάλο έργο λογισμικού ή ιστότοπο.
Το Ant συχνά συνδυάζεται με έναν δοκιμαστικό εκτελεστή και έναν διακομιστή συνεχούς ενοποίησης. Δείτε JUnit για το επίπεδο δοκιμής, Jenkins για προγραμματισμένες κατασκευές, και χρησιμοποιώντας Apache Ant με Selenium για αυτοματοποίηση δοκιμών προγράμματος περιήγησης. Οι αναφορές που παράγονται κατά τη διάρκεια μιας κατασκευής μπορούν να αποδοθούν με JasperReports.














