Apache ANT -opetusohjelma: Mikä on Ant Build Tool? Esimerkki
⚡ Älykäs yhteenveto
Apache ANT on Java pohjainen käännöstyökalu, joka automatisoi kääntämisen, testauksen, pakkaamisen ja käyttöönoton XML-koontitiedoston avulla. Tässä artikkelissa määritellään työkalu, tracsen historia, kattaa Windows asennus, selittää projektin rakenteen ja vertaa sitä Maveniin ja Gradle.

Mikä on rakennustyökalu?
Rakennustyökalu on ohjelmointityökalu, jota käytetään ohjelman uuden version rakentamiseen. Se automatisoi suoritettavan sovelluksen luomisen mistä tahansa lähdekoodista.
Ilman koontityökalua kehittäjä kääntäisi manuaalisesti jokaisen lähdekooditiedoston, kopioisi resurssit, ajaisi testipaketin ja pakkaaisi tuloksen jokaisen muutoksen yhteydessä. Käännöstyökalu tallentaa nämä vaiheet kerran ja toistaa ne identtisesti jokaisella koneella.
Mikä on Apache Ant?
Apache Ant on Java-pohjainen komentorivityökalu rakentamiseen Java sovelluksia, joissa on puhdas siirrettävyys Java koodia. Sen avulla kehittäjät voivat ottaa käyttöön ketteriä periaatteita ja testilähtöistä kehitystä automatisoidakseen toistuvia kehitystehtäviä, kuten dokumentaation luomisen. Ant on lyhenne sanoista Another Neat Tool.
Kuten kaaviosta näkyy, Ant lukee koontitiedoston, selvittää siinä olevien kohteiden järjestyksen ja suorittaa sitten yksittäiset tehtävät, jotka kääntävät, kopioivat, testaavat ja pakkaavat sovelluksen.
Mihin Apache Ant Build -työkalua käytetään?
Tässä on tärkeitä etuja rakennustyökalun käytöstä:
- Käännöstyökalun avulla voit automatisoida tiettyjä toistuvia tehtäviä, kuten lähdekoodin kääntämisen, ohjelmistotestien suorittamisen ja tiedostojen luomisen ohjelmistojen käyttöönottoa varten.
- Rakennustyökalut toimivat useimmiten ilman graafista käyttöliittymää.
- Se auttaa sinua muuntamaan lähdekoodin suoritettavaksi koodiksi.
- Se tarjoaa mahdollisuuden kääntää tiedosto uudelleen vain tarvittaessa.
- Sen avulla voit koota suuren määrän tiedostoja suhteellisen lyhyessä ajassa.
- Kaksi laajalti suosittua rakennustyökalua, joita käyttää Java kehittäjät ovat Apache Maven ja Ant.
Apache Ant:n historia
Nyt tutustumme Apache Ant -koontityökalun historiaan.
Tässä on tärkeitä historiallisia maamerkkejä Apache Ant -työkalusta:
- James Duncan Davidson loi Antin heinäkuussa 2000.
- Sitä käytettiin alun perin Tomcatin rakentamiseen, ja se tuli Tomcat-jakelupaketin sisäänrakennettuna tuotteena.
- Toukokuussa 2014 julkaistiin Apache Ant -versio 1.9.4, joka sisältää monia edistyneitä ominaisuuksia.
- 1.10.x-linja aloitti toimintansa vuonna 2017 ja on edelleen aktiivisesti ylläpidetty haara.
- Versio 1.10.17 julkaistiin 10. huhtikuuta 2026 ja vaatii vähintään Java 8 suoritusaikaa.
Apache Ant
Tässä ovat Apache Antin tärkeimmät ominaisuudet:
- Se on avoimen lähdekoodin projekti.
- Sen avulla voit suorittaa koontiversioita molemmilla Windows ja UNIX- tai Linux-järjestelmissä.
- Tarvitset vain JVM, koska se toimii missä tahansa, missä on käytettävissä JVM.
- Se tarjoaa laajan valikoiman ennalta määriteltyjä tehtäviä.
- Se auttaa sinua kopioimaan tiedostoja paikasta toiseen.
- Se tarjoaa käyttöliittymän mukautettujen tehtävien kehittämiseen.
- Sen avulla voit käynnistää koontiversioita komentoriviltä, mikä integroituu helposti seuraaviin: ilmaiset ja kaupalliset IDE:t.
- Sen avulla voit ottaa binäärit käyttöön testipalvelimella.
- Se tarjoaa laajennettavan arkkitehtuurin.
- Se tarjoaa taaksepäin yhteensopivuuden eri julkaisujen välillä.
Kuinka asentaa ja määrittää Apache Ant päälle Windows
Nyt opimme Apache Antin asentamisen prosessin Windows.
Oletamme, että olet jo ladannut ja asentanut Java Kehityspakkaus (JDK) tietokoneellasi. Varmista, että JAVA_HOME-ympäristömuuttuja on asetettu kansioon, johon JDK on asennettu. Asenna Antin noudattamalla seuraavia ohjeita:
Vaihe 1) Lataa binaarit.
Lataa binaarit osoitteesta https://ant.apache.org/bindownload.cgi
Vaihe 2) Pura tiedostot.
Pura tämä zip-tiedosto kätevään paikkaan, kuten c:\kansioon, käyttämällä WinZip, WinRAR, 7-Ziptai vastaava työkalu.
Vaihe 3) Luo ympäristömuuttuja.
Luo ympäristömuuttuja ”ANT_HOME”:lle ja määritä muuttujan arvo Ant-kansion sijainnille.
- Napsauta hiiren kakkospainikkeella Tämä tietokone -kuvaketta.
- Napsauta Ominaisuudet.
Vaihe 4) Siirry järjestelmäasetuksiin.
Napsauta "Järjestelmän lisäasetukset".
Vaihe 5) Järjestelmän ominaisuuksista
napsauta ”Lisäasetukset”-välilehteä.
Vaihe 6) Etsi ympäristömuuttujat.
Napsauta "Ympäristömuuttujat…" -painiketta.
Vaihe 7) Luo uusi muuttuja.
Napsauta "Uusi" luodaksesi uuden käyttäjämuuttujan.
Vaihe 8) Syötä muuttujan tiedot.
Syötä uuden käyttäjämuuttujan tiedot.
- Syötä muuttujan nimi muodossa ANT_HOME.
- Syötä muuttujan arvoksi kansio, josta Ant purettiin, esimerkiksi C:\apache-ant-1.10.17.
- Napsauta “OK” -painiketta.
Vaihe 9) Muuttuja luotu.
Napsauta “OK” -painiketta.
Vaihe 10) Sulje näyttö.
Napsauta "OK" sulkeaksesi näytön.
💡 Vinkki: ANT_HOME-osoitteen on osoitettava itse asennuskansioon, ei sen sisällä olevaan bin-kansioon. Lisää sitten %ANT_HOME%\bin Path-muuttujaan, jotta ant-komento tunnistetaan mistä tahansa hakemistosta.
Voit varmistaa onnistuneen Ant-asennuksen kirjoittamallaping komentokehotteessa komento ”ant -version”.
Näet seuraavan näytön:
Esimerkki Apache ANT:sta
Alla oleva koontitiedosto määrittelee yhden kohteen nimeltä hello, joka tulostaa viestin. project-elementti määrittää nimen ja oletuskohteen, jotta Ant tietää, mitä suorittaa, kun kohdetta ei ole nimetty komentorivillä.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Tallenna tämä tiedosto nimellä ”build.xml” ja noudata sitten näitä kahta vaihetta:
- Avaa komentokehote ja siirry hakemistoon, joka sisältää build.xml-tiedoston.
- ajaa
ant hello, tai yksinkertaisestiant, koska hello on ilmoitettu oletuskohteeksi. Jos haluat käyttää eri tiedostonimeä, suoritaant -f mybuild.xml hello.
lähtö:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
ANT-projektin rakenne
ANT-projektin rakenne
Kuten rakennekaavio osoittaa, jokainen koontiversio sisältää kolme solmua:
- projekti
- Target
- Tehtävä
projekti
Kaikki Apache ANT:n koontitiedoston sisällä on projektin alla.
Ominaisuudet:
- Nimi: Projektin nimi.
- Tukikohta: Tämä on hakemisto, josta kaikki polut lasketaan. Tämä voidaan ohittaa käyttämällä "basedir"-ominaisuutta.
- Oletus: Auttaa määrittämään projektin oletuskohteen. Jos kohdetta ei anneta, Ant suorittaa oletuskohteen.
Target
Kohde on joukko tehtäviä, jotka on määritelty saavuttamaan tietty tila rakennusprosessissa.
Ominaisuudet:
- Nimi: Kohteen nimi (pakollinen).
- Descriptioni: Descriptkohteen ioni.
- Riippuu: Mistä tavoitteesta tämä nykyinen tavoite riippuu.
- Jos: Suorittaa kohteen vain, jos kohdeominaisuudelle on asetettu arvo.
- Ellei: Suorittaa kohteen vain, jos ominaisuuden arvoa ei ole asetettu.
Tehtävät
Tehtävä on koodipätkä, joka voidaan suorittaa. Tehtävillä on useita argumentteja eli attribuutteja.
Yleinen metodimalli tehtävän kirjoittamiseen on:
<name attribute1="value" attribute2="value2"…/>
Voit käyttää joko valmiita tehtäviä tai luoda oman tehtäväsi. Alla olevassa taulukossa luetellaan tehtävät, jotka esiintyvät lähes jokaisessa Java koontitiedosto.
| Tehtävä | Tarkoitus | Tyypilliset ominaisuudet |
|---|---|---|
| kaiku | Tulosta viesti konsoliin | viesti |
| mkdir | Luo hakemisto | dir |
| poistaa | Tiedostojen tai hakemistojen poistaminen | hakemisto, sisällytä tyhjät hakemistot |
| javac | Koota Java lähdetiedostot | srcdir, destdir, includeantruntime |
| purkki | Pakkaa luokat jar-arkistoon | destfile, basedir |
| kopio | Tiedostojen kopioiminen sijaintien välillä | tiedosto, todir |
| junit | Suorita yksikkötestejä | haltonfailure, tulosteyhteenveto |
Täydellinen build.xml-esimerkki useilla tiedostoilla Targets
Realistinen koontitiedosto ketjuttaa useita kohteita yhteen. Depends-attribuutti takaa järjestyksen, joten Ant tyhjentää tuloskansion, kääntää lähdekoodin ja vasta sitten rakentaa jar-tiedoston.
<?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>
lähtö:
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
Kolme rakennustyökalua hallitsee Java ekosysteemi, ja jokainen ottaa eri kannan siihen, kuinka paljon rakennetta tarvitaan.
| Parametri | Apache Ant | Apache Maven | Gradle |
|---|---|---|---|
| Koontikomentosarjan muoto | XML | XML | Groovy tai Kotlin DSL |
| Lähestymistapa | Menettelyllinen, sinä määrittelet jokaisen vaiheen | Deklaratiivi, konfiguraatiosopimus | Deklaratiivi skriptilaajennuksilla |
| Riippuvuuden hallinta | Ei sisäänrakennettu, lisätty Apache Ivyn kautta | Sisäänrakennettu keskitetyllä arkistolla | Sisäänrakennettu, Maven-yhteensopiva |
| Hankkeen rakenne | Täysin ilmainen | Kiinteä vakioasettelu | Sopimusperusteinen, mutta ohitettavissa |
| Inkrementaaliset koontiversiot | rajallinen | rajallinen | Kyllä, koontivälimuistilla |
| Oppimiskäyrä | Alhainen XML-käyttäjille | Kohtalainen | Jyrkempi, vaatii DSL:n |
| Sopii parhaiten | Perinteiset projektit ja erittäin mukautetut rakennukset | Standard Java hankkeet | Suuri monimoduulinen ja Android hankkeet |
Ant on edelleen käytännöllinen valinta, kun koontiversio ei sovi vakioasetteluun tai kun olemassa oleva projekti on jo riippuvainen käsin kirjoitetuista tavoitteista.
Parhaat käytännöt Apache Ant
Tässä on joitakin parhaita käytäntöjä Apache Antin käyttöön.
- Sinun tulisi automatisoida koontiversioiden numerointi ominaisuustiedostojen avulla.
- Toteuta konfiguroitava koonti oletus- ja koontiominaisuustiedostojen avulla. Näiden tiedostojen avulla voit tallentaa ominaisuuksia, jotka määrittelevät koontiprosessisi tiedot, kuten kääntäjän version ja optimointiasetukset.
- Voit käyttää uudelleen valmiita kirjastoja käyttämällä kirjaston ominaisuustiedostoja.
- Anna jokaiselle kohteelle description-attribuutti, jotta
ant -projecthelplistaa käyttökelpoisen yhteenvedon kokoonpanosta. - Pidä puhdas kohdetiedosto erillään äläkä koskaan poista hakemistoa, jossa on myös lähdetiedostoja.
Apache Ant.:n käytön edut
Tässä ovat Apache Antin käytön edut:
- Ant on alustaneutraali, joten se auttaa sinua hallitsemaan alustakeskeisiä ominaisuuksia, kuten tiedostoerottimia.
- Ant mahdollistaa alustakohtaisten tehtävien suorittamisen, kuten tiedoston muokkausajan muokkaamisen 'touch'-komennolla.
- Muurahaisskriptit kirjoitetaan selkokielellä XML, joten jos tunnet jo XML:n, opit Antin nopeasti.
- Ant tarjoaa laajan luettelon valmiiksi määritellyistä tehtävistä.
- Se tarjoaa käyttöliittymän kehittäjilleping räätälöityjä tehtäviä.
- Voit helposti käynnistää Antin komentoriviltä, mikä mahdollistaa integroinnin ilmaisten ja kaupallisten IDE-ympäristöjen kanssa.
- Tarvitset vain JVM:n, joten se toimii missä tahansa, missä JVM on saatavilla.
- Apache Ant on avoimen lähdekoodin kirjasto, jonka avulla käyttäjät voivat käyttää lähdekoodia ja toistaa sitä.
- Apache Ant on monialustainen työkalu, jonka avulla voit käsitellä Java luokkapolku ja tiedostohakemistorakenne edullisella tavalla.
- Apache Ant on helposti laajennettavissa Java ja muut ohjelmointikielet.
- Apache Ant tarjoaa sisäänrakennetun tuen J2EE-kehitykselle, kuten EJB-kääntämiselle ja -paketoinnille.
- Voit käyttää sitä niin pieneen henkilökohtaiseen projektiin kuin suureen ohjelmistoprojektiin tai verkkosivustoon.
Ant yhdistetään usein testiajoohjelmaan ja jatkuvan integraation palvelimeen. Katso. JUnit testikerrosta varten Jenkins aikataulutettuja koontiversioita varten ja Apache Antin käyttö Selenium selaintestauksen automatisointia varten. Käännösvaiheessa tuotettuja raportteja voidaan renderöidä JasperRaportit.













