Tutorial Apache ANT: Ce este Ant Build Tool? Exemplu
⚡ Rezumat inteligent
Apache ANT este un Java instrument de compilare bazat pe XML care automatizează compilarea, testarea, împachetarea și implementarea printr-un fișier de compilare XML. Acest articol definește instrumentul, tracistoria sa, acoperă Windows instalare, explică structura proiectului și o compară cu Maven și Gradle.

Ce este un instrument de construcție?
Un instrument de compilare este un instrument de programare care este folosit pentru a construi o nouă versiune a unui program. Automatizează crearea unei aplicații executabile din orice cod sursă.
Fără un instrument de compilare, un dezvoltator ar compila manual fiecare fișier sursă, ar copia resursele, ar rula suita de teste și ar împacheta rezultatul la fiecare modificare. Un instrument de compilare înregistrează acești pași o dată și îi repetă identic pe fiecare mașină.
Ce este Apache Ant?
Apache Ant este Javainstrument bazat pe linie de comandă pentru construirea Java aplicații cu portabilitatea deplină a pure Java cod. Permite dezvoltatorilor să adopte principii agile și dezvoltare bazată pe teste pentru a automatiza sarcinile de dezvoltare repetitive, cum ar fi generarea documentației. Ant este un acronim pentru Another Neat Tool (Un alt instrument interesant).
După cum arată diagrama, Ant citește un fișier de compilare, rezolvă ordinea țintelor din interiorul acestuia, apoi execută sarcinile individuale care compilează, copiază, testează și împachetează aplicația.
Pentru ce este folosit instrumentul Apache Ant Build?
Iată câteva beneficii importante ale utilizării instrumentului de construire:
- Un instrument de compilare vă permite să automatizați anumite sarcini repetitive, cum ar fi compilarea codului sursă, rularea testelor software și crearea de fișiere pentru implementarea software-ului.
- Instrumentele de construcție rulează în cea mai mare parte fără o interfață grafică cu utilizatorul.
- Te ajută să transformi codul sursă în cod executabil.
- Oferă opțiunea de recompilare a unui fișier numai dacă este necesar.
- Vă permite să compilați un număr mare de fișiere într-un timp relativ scurt.
- Două instrumente de construcție foarte populare utilizate de Java Dezvoltatorii sunt Apache Maven și Ant.
Istoria Apache Ant
Acum vom afla despre istoricul instrumentului de compilare Apache Ant.
Iată repere istorice importante ale instrumentului Apache Ant:
- James Duncan Davidson a creat Ant în iulie 2000.
- Inițial a fost folosit pentru a construi Tomcat și a venit ca un produs încorporat în kitul de distribuție Tomcat.
- În mai 2014, a fost lansată Apache Ant versiunea 1.9.4 cu multe funcții avansate.
- Linia 1.10.x a început în 2017 și rămâne ramura întreținută activ.
- Versiunea 1.10.17 a fost lansată pe 10 aprilie 2026 și necesită un minim Java 8 timpi de execuție.
Caracteristicile Apache Ant
Iată caracteristicile esențiale ale Apache Ant:
- Este un proiect open-source.
- Îți permite să rulezi build-uri pe ambele Windows și sisteme UNIX sau Linux.
- Ai nevoie doar de un FMV, deoarece rulează oriunde este disponibilă o JVM.
- Oferă o gamă largă de sarcini predefinite.
- Te ajută să copiezi fișiere dintr-o locație în alta.
- Oferă o interfață pentru dezvoltarea de sarcini personalizate.
- Vă permite să invocați versiuni din linia de comandă, ceea ce se integrează ușor cu IDE-uri gratuite și comerciale.
- Vă permite să implementați fișierele binare pe un server de testare.
- Oferă o arhitectură extensibilă.
- Oferă compatibilitate inversă între versiuni.
Cum se instalează și se configurează Apache Ant Windows
Acum vom învăța procesul de instalare a Apache Ant pe Windows.
Presupunem că ați descărcat și instalat deja aplicația Java Kit de dezvoltare (JDK) pe computer. Asigurați-vă că variabila de mediu JAVA_HOME este setată la folderul în care este instalat JDK-ul. Urmați pașii de mai jos pentru instalarea Ant:
Pas 1) Descărcați binarele.
Descărcați binarele de pe https://ant.apache.org/bindownload.cgi
Pas 2) Decuplați fișierele.
Dezarhivați acest fișier zip într-o locație convenabilă, cum ar fi c:\folder, folosind WinZip, WinRAR, 7-Zip, sau un instrument similar.
Pas 3) Creați o variabilă de mediu.
Creați o variabilă de mediu pentru „ANT_HOME” și atribuiți valoarea variabilei locației folderului Ant.
- Faceți clic dreapta pe pictograma Acest PC.
- Faceți clic pe Proprietăți.
Pas 4) Accesați setările sistemului.
Faceți clic pe „Setări avansate de sistem”.
Pas 5) Pe proprietățile sistemului,
faceți clic pe fila „Avansat”.
Pas 6) Găsiți variabilele de mediu.
Faceți clic pe butonul „Variabile de mediu…”.
Pas 7) Creați o variabilă nouă.
Faceți clic pe „Nou” pentru a crea o nouă variabilă utilizator.
Pas 8) Introduceți detaliile variabilei.
Introduceți detaliile noii variabile de utilizator.
- Introduceți numele variabilei ca ANT_HOME.
- Introduceți valoarea variabilei ca folderul în care a fost dezarhivat Ant, de exemplu C:\apache-ant-1.10.17.
- Faceți clic pe butonul „OK”.
Pas 9) Variabilă creată.
Faceți clic pe butonul „OK”.
Pas 10) Închideți ecranul.
Faceți clic pe „OK” pentru a închide ecranul.
💡 Sfat: ANT_HOME trebuie să indice spre folderul de instalare în sine, nu spre folderul bin din interiorul acestuia. Apoi adăugați %ANT_HOME%\bin la variabila Path, astfel încât comanda ant să fie recunoscută din orice director.
Puteți verifica o instalare Ant reușită prin typing comanda „ant -version” din linia de comandă.
Veți vedea următorul ecran:
Exemplu de Apache ANT
Fișierul de compilare de mai jos definește o singură țintă numită hello care afișează un mesaj. Elementul project declară un nume și o țintă implicită, astfel încât Ant știe ce să execute atunci când nicio țintă nu este numită în linia de comandă.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Salvați acest fișier ca „build.xml”, apoi urmați acești doi pași:
- Deschideți promptul de comandă și mutați-vă în directorul care conține fișierul build.xml.
- Alerga
ant hello, sau pur și simpluant, deoarece hello este declarat ca țintă implicită. Pentru a utiliza un nume de fișier diferit, executațiant -f mybuild.xml hello.
ieșire:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
Structura proiectului ANT
Structura proiectului ANT
După cum arată diagrama structurii, fiecare construcție va conține trei noduri:
- Proiect
- Target
- Sarcină
Proiect
Tot ce se află în fișierul de compilare din Apache ANT se află sub un proiect.
Atribute:
- Nume: Numele proiectului.
- Bazat pe: Acesta este directorul din care vor fi calculate toate căile. Această funcție poate fi suprascrisă folosind proprietatea „basedir”.
- Mod implicit: Vă ajută să definiți ținta implicită pentru acest proiect. Dacă nu este specificată nicio țintă, atunci Ant va executa cea implicită.
Target
O țintă este un set de sarcini, definite pentru a atinge o stare specifică în procesul de construcție.
Atribute:
- Nume: Numele țintei (obligatoriu).
- Description: Descriptionul țintei.
- Depinde: De ce țintă depinde această țintă curentă.
- Dacă: Execută ținta numai dacă este setată o valoare pentru o proprietate țintă.
- Dacă nu: Execută ținta numai dacă valoarea proprietății nu este setată.
Sarcini
O sarcină este o porțiune de cod care poate fi executată. Sarcinele au mai multe argumente sau atribute.
Modelul general de metodă pentru scrierea unei sarcini este:
<name attribute1="value" attribute2="value2"…/>
Puteți utiliza fie o sarcină încorporată, fie vă puteți crea propria sarcină. Tabelul de mai jos listează sarcinile care apar în aproape fiecare Java fișier de construire.
| Sarcină | Scop | Atribute tipice |
|---|---|---|
| ecou | Imprimați un mesaj către consolă | mesaj |
| mkdir | Creați un director | dir |
| șterge | Eliminați fișiere sau directoare | director, includeredirectoare goale |
| javaneză | Compila Java fișiere sursă | srcdir, destdir, includeantruntime |
| borcan | Împachetați clasele într-o arhivă jar | fișier destinație, director de bază |
| copiaţi | Copiați fișierele între locații | fișier, director |
| junit | Execută teste unitare | eșec halton, rezumat imprimare |
Exemplu complet build.xml cu mai multe Targets
Un fișier de compilare realist leagă mai multe ținte împreună. Atributul depends garantează ordinea, așa că Ant curăță folderul de ieșire, compilează sursa și abia apoi construiește fișierul 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>
ieșire:
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
Trei instrumente de construire domină Java ecosistem, iar fiecare adoptă o poziție diferită cu privire la câtă structură să impună.
| Parametru | Apache Ant | Apache Maven | Gradle |
|---|---|---|---|
| Formatul scriptului de construire | XML | XML | Groovy sau Kotlin DSL |
| Abordarea | Procedural, tu definești fiecare pas | Declarativ, convenție peste configurație | Declarativ cu extensii scriptate |
| Managementul dependenței | Nu este încorporat, ci adăugat prin Apache Ivy | Integrat cu depozit central | Încorporat, compatibil cu Maven |
| Structura proiectului | Complet gratuit | Aspect standard fix | Bazat pe convenție, dar poate fi înlocuit |
| Construiri incrementale | Limitat | Limitat | Da, cu o memorie cache de compilare |
| Curbă de învățare | Scăzut pentru utilizatorii XML | Moderat | Mai abrupt, necesită DSL |
| Cel mai potrivit pentru | Proiecte vechi și construcții extrem de personalizate | Standard Java Proiecte | Multi-modul mare și Android Proiecte |
Ant rămâne alegerea pragmatică atunci când o versiune nu se încadrează într-un layout standard sau când un proiect existent depinde deja de obiective scrise de mână.
Cele mai bune practici de utilizare a Apache Ant
Iată câteva dintre cele mai bune practici pentru utilizarea Apache Ant.
- Ar trebui să automatizați numerotarea build folosind fișiere de proprietate.
- Implementați o compilare configurabilă cu ajutorul fișierelor de proprietăți implicite și de compilare. Aceste fișiere vă permit să stocați proprietăți care definesc datele pentru procesul de compilare, cum ar fi versiunea compilatorului și setările de optimizare.
- Puteți reutiliza bibliotecile predefinite folosind fișierele de proprietăți ale bibliotecii.
- Dați fiecărei ținte un atribut de descriere, astfel încât
ant -projecthelplistează un rezumat util al construcției. - Păstrați separat ținta curată și nu ștergeți niciodată un director care conține și fișiere sursă.
Avantajele utilizării Apache Ant
Iată beneficiile utilizării Apache Ant:
- Ant este neutru față de platformă, așa că vă ajută să gestionați proprietățile centrate pe platformă, cum ar fi separatoarele de fișiere.
- Ant vă permite să efectuați sarcini specifice platformei, cum ar fi modificarea orei de modificare a unui fișier folosind comanda „touch”.
- Scripturile Ant sunt scrise folosind text simplu XML, deci dacă ești deja familiarizat cu XML, vei putea învăța Ant rapid.
- Ant oferă o listă lungă de sarcini predefinite.
- Oferă o interfață pentru dezvoltareping sarcini personalizate.
- Puteți invoca cu ușurință Ant din linia de comandă, ceea ce permite integrarea cu IDE-uri gratuite și comerciale.
- Ai nevoie doar de o JVM, deci rulează oriunde este disponibilă o JVM.
- Apache Ant este o bibliotecă open-source care permite utilizatorilor să acceseze codul sursă și să-l reproducă.
- Apache Ant este un instrument multiplatformă care vă permite să gestionați Java classpath și structura directorului de fișiere într-un mod accesibil.
- Apache Ant este ușor de extensibil folosind Java și alte limbaje de programare.
- Apache Ant oferă suport încorporat pentru dezvoltarea J2EE, cum ar fi compilarea și împachetarea EJB.
- Îl poți folosi atât pentru un proiect personal mic, cât și pentru un proiect software mare sau un site web.
Ant este frecvent asociat cu un rulator de teste și un server de integrare continuă. Vezi JUnit pentru stratul de testare, Jenkins pentru construcții programate și folosind Apache Ant cu Selenium pentru automatizarea testelor de browser. Rapoartele produse în timpul unei construcții pot fi redate cu JasperReports.













