Apache ANT õpetus: mis on Ant Build Tool? Näide
⚡ Nutikas kokkuvõte
Apache ANT on Java XML-põhine ehitustööriist, mis automatiseerib kompileerimise, testimise, pakkimise ja juurutamise XML-ehitusfaili kaudu. See artikkel määratleb tööriista, tracselle ajalugu hõlmab Windows paigaldus, selgitab projekti struktuuri ja võrdleb seda Maveni ja teistega Gradle.

Mis on ehitustööriist?
Koostamistööriist on programmeerimistööriist, mida kasutatakse programmi uue versiooni koostamiseks. See automatiseerib käivitatava rakenduse loomise mis tahes lähtekoodist.
Ilma ehitustööriistata kompileeriks arendaja käsitsi iga lähtekoodifaili, kopeeriks ressursid, käivitaks testimiskomplekti ja pakiks iga muudatuse tulemuse. Ehitustööriist salvestab need sammud üks kord ja kordab neid identselt igas masinas.
Mis on Apache Ant?
Apache Ant on Java-põhine käsurea tööriist ehitamiseks Java rakendused koos puhta täieliku teisaldatavusega Java kood. See võimaldab arendajatel võtta kasutusele agiilseid põhimõtteid ja testipõhist arendust, et automatiseerida korduvaid arendusülesandeid, näiteks dokumentatsiooni genereerimist. Ant on lühend sõnadest Another Neat Tool.
Nagu diagramm näitab, loeb Ant ehitusfaili, lahendab selles olevate sihtmärkide järjekorra ja seejärel käivitab üksikud ülesanded, mis rakenduse kompileerivad, kopeerivad, testivad ja pakendavad.
Milleks Apache Ant Buildi tööriista kasutatakse?
Siin on ehitustööriista kasutamise olulised eelised:
- Ehitustööriist võimaldab automatiseerida konkreetseid korduvaid ülesandeid, näiteks lähtekoodi kompileerimist, tarkvaratestide käivitamist ja failide loomist tarkvara juurutamiseks.
- Ehitustööriistad töötavad enamasti ilma graafilise kasutajaliideseta.
- See aitab teil lähtekoodi käivitatavaks koodiks teisendada.
- See pakub võimalust faili uuesti kompileerida ainult vajadusel.
- See võimaldab teil suhteliselt lühikese aja jooksul koostada suure hulga faile.
- Kaks laialt populaarset ehitustööriista, mida kasutavad Java arendajad on Apache Maven ja Ant.
Apache Ant ajalugu
Nüüd tutvume Apache Ant ehitustööriista ajalooga.
Siin on olulised ajaloolised vaatamisväärsused Apache Ant tööriistast:
- James Duncan Davidson lõi Ant'i 2000. aasta juulis.
- Algselt kasutati seda Tomcati ehitamiseks ja see oli Tomcati jaotuskomplekti sisseehitatud toode.
- 2014. aasta mais ilmus Apache Ant versioon 1.9.4, millel on palju täiustatud funktsioone.
- 1.10.x liin alustas tegevust 2017. aastal ja on siiani aktiivselt hooldatud haru.
- Versioon 1.10.17 avaldati 10. aprillil 2026 ja nõuab minimaalset Java 8 tööaega.
Apache Ant omadused
Siin on Apache Anti põhifunktsioonid:
- See on avatud lähtekoodiga projekt.
- See võimaldab teil mõlemal versioonil ehitusi käivitada Windows ja UNIX-i või Linuxi süsteemides.
- Teil on vaja ainult FMV, kuna see töötab kõikjal, kus on saadaval JVM.
- See pakub laia valikut eelnevalt määratletud ülesandeid.
- See aitab faile ühest kohast teise kopeerida.
- See pakub liidest kohandatud ülesannete arendamiseks.
- See võimaldab teil käivitada ehitusi käsurealt, mis integreerub hõlpsalt tasuta ja kaubanduslikud IDE-d.
- See võimaldab teil binaarfaile testserverisse juurutada.
- See pakub laiendatavat arhitektuuri.
- See pakub tagasiühilduvust erinevate versioonide vahel.
Kuidas Apache Ant installida ja konfigureerida Windows
Nüüd õpime Apache Ant'i installimise protsessi Windows.
Eeldame, et olete selle juba alla laadinud ja installinud Java Arenduskomplekt (JDK) oma arvutis. Veenduge, et keskkonnamuutuja JAVA_HOME väärtuseks on seatud kaust, kuhu teie JDK on installitud. Ant'i installimiseks järgige alltoodud samme:
Step 1) Laadige alla binaarfailid.
Laadige binaarfailid alla aadressilt https://ant.apache.org/bindownload.cgi
Step 2) Paki failid lahti.
Pakkige see zip-fail lahti sobivasse kohta, näiteks kausta c:\, kasutades WinZip, WinRAR, 7-Zipvõi sarnane tööriist.
Step 3) Looge keskkonnamuutuja.
Loo keskkonnamuutuja „ANT_HOME” jaoks ja määra muutuja väärtus Ant kausta asukohale.
- Paremklõpsake ikooni See arvuti.
- Klõpsake Atribuudid.
Step 4) Minge süsteemiseadetesse.
Klõpsake nuppu "Täpsemad süsteemiseaded".
Step 5) Süsteemi omaduste kohta
klõpsake vahekaarti „Täpsemalt”.
Step 6) Leidke keskkonnamuutujad.
Klõpsake nuppu „Keskkonnamuutujad…”.
Step 7) Loo uus muutuja.
Uue kasutajamuutuja loomiseks klõpsake nuppu "Uus".
Step 8) Sisestage muutuja üksikasjad.
Sisestage uue kasutaja muutuja üksikasjad.
- Sisesta muutuja nimi kujul ANT_HOME.
- Sisesta muutuja väärtuseks kaust, kuhu Ant lahti pakiti, näiteks C:\apache-ant-1.10.17.
- Klõpsake nuppu "OK".
Step 9) Muutuja loodud.
Klõpsake nuppu "OK".
Step 10) Sulgege ekraan.
Ekraani sulgemiseks klõpsake nuppu "OK".
💡 Näpunäide: ANT_HOME peab osutama installikaustale endale, mitte selles asuvale bin-kaustale. Seejärel lisage %ANT_HOME%\bin muutujale Path, nii et ant-käsk on tuvastatav igast kataloogist.
Eduka Ant'i installimise saate kinnitada järgmiselt:ping käsurealt käsk „ant -version”.
Näete järgmist ekraani:
Apache ANT näide
Allolev ehitusfail defineerib ühe sihtmärgi nimega hello, mis prindib teate. Element project deklareerib nime ja vaikimisi sihtmärgi, nii et Ant teab, mida käivitada, kui käsureal sihtmärki pole nimetatud.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Salvestage see fail nimega „build.xml” ja seejärel järgige neid kahte sammu:
- Avage käsuviip ja liikuge kataloogi, mis sisaldab build.xml-i.
- jooks
ant hellovõi lihtsaltant, kuna vaikesihtmärgiks on deklareeritud hello. Teise failinime kasutamiseks käivitageant -f mybuild.xml hello.
Väljund:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
ANT projekti struktuur
ANT projekti struktuur
Nagu struktuuridiagramm näitab, sisaldab iga ehitus kolme sõlme:
- Projekt
- Target
- Ülesanne
Projekt
Kõik Apache ANT-i ehitusfaili sees on projekti all.
Omadused:
- Nimi: Projekti nimi.
- Basedir: See on kataloog, millest kõik teed arvutatakse. Selle saab muuta atribuudi „basedir” abil.
- Vaikimisi: Aitab teil määrata selle projekti vaikesihtmärgi. Kui sihtmärki pole määratud, käivitab Ant vaikesihtmärgi.
Target
Sihtmärk on ülesannete kogum, mis on määratletud ehitusprotsessis kindla oleku saavutamiseks.
Omadused:
- Nimi: Sihtkoha nimi (nõutav).
- Descriptioon: Descriptsihtmärgi ioon.
- Oleneb: Millisest sihtmärgist see praegune sihtmärk sõltub.
- Kui: Käivitab sihtmärgi ainult siis, kui sihtmärgi atribuudile on väärtus määratud.
- Välja arvatud juhul, kui: Käivitab sihtmärgi ainult siis, kui atribuudi väärtust pole määratud.
Ülesanded
Ülesanne on koodilõik, mida saab käivitada. Ülesannetel on mitu argumenti ehk atribuuti.
Ülesande kirjutamise üldine meetodimuster on järgmine:
<name attribute1="value" attribute2="value2"…/>
Saate kasutada kas sisseehitatud ülesannet või luua oma ülesande. Allolev tabel loetleb ülesanded, mis esinevad peaaegu igas Java ehitusfail.
| Ülesanne | Eesmärk | Tüüpilised atribuudid |
|---|---|---|
| miss | Prindi konsoolile teade | sõnum |
| mkdir | Loo kataloog | dir |
| kustutama | Failide või kataloogide eemaldamine | kataloog, sh tühjad kaustad |
| jaava keel | Koosta Java lähtefailid | srcdir, destdir, includeantruntime |
| purk | Pakki klassid jar-arhiivi | sihtfail, baasfail |
| koopia | Failide kopeerimine asukohtade vahel | fail, todir |
| junit | Käivita ühiktestid | haltonfailure, printsummary |
Täielik build.xml näide mitmega Targets
Realistlik ehitusfail seob mitu sihtmärki kokku. Atribuut depends garanteerib järjekorra, seega Ant puhastab väljundkausta, kompileerib lähtekoodi ja alles seejärel ehitab jar-faili.
<?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>
Väljund:
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
Kolm ehitustööriista domineerivad Java ökosüsteem ja igaüks neist võtab struktuuri kehtestamise osas erineva seisukoha.
| Parameeter | Apache Ant | Apache Maven | Gradle |
|---|---|---|---|
| Skripti koostamise vorming | XML | XML | Groovy või Kotlin DSL |
| Lähenemine | Protseduuriline, iga sammu defineerid sina | Deklaratiivne, konfiguratsiooni käsitlev konventsioon | Deklaratiivne skriptitud laiendustega |
| Sõltuvuste juhtimine | Pole sisse ehitatud, lisatud Apache Ivy kaudu | Sisseehitatud keskse hoidlaga | Sisseehitatud, Maveniga ühilduv |
| Projekti ülesehitus | Täiesti tasuta | Fikseeritud standardpaigutus | Konventsioonipõhine, kuid tühistatav |
| Järkjärgulised järgud | piiratud | piiratud | Jah, koos ehituse vahemäluga |
| Õppimiskõver | Madal XML-i kasutajatele | Mõõdukas | Järsem, nõuab DSL-i |
| Kõige paremini sobib | Pärandprojektid ja väga kohandatud versioonid | Standard Java projektid | Suur mitme mooduliga ja Android projektid |
Ant jääb pragmaatiliseks valikuks, kui ehitus ei sobi standardpaigutusse või kui olemasolev projekt sõltub juba käsitsi kirjutatud eesmärkidest.
Apache Ant kasutamise parimad tavad
Siin on mõned Apache Anti kasutamise parimad tavad.
- Peaksite järgu nummerdamise automatiseerima atribuudifailide abil.
- Rakenda konfigureeritav ehitus vaike- ja ehitusomaduste failide abil. Need failid võimaldavad salvestada omadusi, mis määravad sinu ehitusprotsessi andmed, näiteks kompilaatori versiooni ja optimeerimisseadeid.
- Eelehitatud teeke saate uuesti kasutada teegi atribuutide failide abil.
- Andke igale sihtmärgile kirjelduse atribuut, nii et
ant -projecthelploetleb ehituse kasutatava kokkuvõtte. - Hoidke puhast sihtmärki eraldi ja ärge kunagi kustutage kausta, mis sisaldab ka lähtekoodifaile.
Apache Ant kasutamise eelised
Apache Anti kasutamise eelised on järgmised:
- Ant on platvormineutraalne, seega aitab see teil hallata platvormikeskseid omadusi, näiteks failide eraldajaid.
- Ant võimaldab teil täita platvormispetsiifilisi ülesandeid, näiteks muuta faili muutmise aega käsu 'touch' abil.
- Sipelgate skriptid kirjutatakse lihtsas keeles XML, seega kui sa oled XML-iga juba tuttav, saad Anti kiiresti selgeks.
- Ant pakub suurt nimekirja eelnevalt määratletud ülesannetest.
- See pakub arendusliidestping kohandatud ülesanded.
- Antit saab käsurealt hõlpsalt käivitada, mis võimaldab integratsiooni nii tasuta kui ka kommertslike IDE-dega.
- Teil on vaja ainult JVM-i, seega töötab see kõikjal, kus JVM on saadaval.
- Apache Ant on avatud lähtekoodiga teek, mis võimaldab kasutajatel lähtekoodile juurde pääseda ja seda reprodutseerida.
- Apache Ant on platvormideülene tööriist, mis võimaldab teil hallata Java klassitee ja failikataloogi struktuur taskukohasel viisil.
- Apache Ant on hõlpsasti laiendatav Java ja muud programmeerimiskeeled.
- Apache Ant pakub sisseehitatud tuge J2EE arenduseks, näiteks EJB kompileerimiseks ja pakkimiseks.
- Saate seda kasutada nii väikese isikliku projekti kui ka suure tarkvaraprojekti või veebisaidi jaoks.
Ant on sageli seotud testija ja pideva integratsiooni serveriga. Vaata. JUnit testkihi jaoks Jenkins ajastatud ehituste jaoks ja kasutades Apache Ant'i koos Selenium brauseri testimise automatiseerimiseks. Ehituse ajal loodud aruandeid saab renderdada Jasperi aruanded.













