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.

  • 🔨 Ydinmääritelmä: Ant on lyhenne sanoista Another Neat Tool, ja se muuntaa lähdekoodin suoritettavaksi sovellukseksi komentoriviltä.
  • 📄 Rakennustiedosto: Jokainen käsky sijaitsee XML-tiedostossa, jonka nimi on perinteisesti build.xml. Tämä tiedosto ei vaadi erillistä ohjelmointikieltä.
  • 🧱 Kolmen solmun rakenne: Rakennustiedosto sisäkkäistää aina tehtäviä kohteiden sisällä ja kohteita yksittäisen projektielementin sisällä.
  • 🔗 Riippuvuuksien hallinta: depends-attribuutti määrää kohteet, joten käännös suoritetaan aina ennen jar-tiedostoa ja ennen käyttöönottoa.
  • ⚙️ Ympäristön asetukset: Asennus vaatii JDK:n, ANT_HOME-muuttujan ja Ant bin -kansion lisäämisen järjestelmäpolkuun.
  • 🆚 Työkalujen vertailu: Ant tarjoaa proseduraalisia vapauksia, Maven valvoo riippuvuuksien hallinnan käytäntöjä ja Gradle yhdistää molemmat skriptatulla koonnilla.
  • 🌍 Siirrettävyyden etu: Koontiversio toimii identtisesti Windows ja Linuxia kaikkialla, missä Java Virtuaalikone on käytettävissä.

Apache ANT opetusohjelma

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.

Apache Ant

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

Asenna ja määritä Apache Ant päälle Windows

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.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 3) Luo ympäristömuuttuja.
Luo ympäristömuuttuja ”ANT_HOME”:lle ja määritä muuttujan arvo Ant-kansion sijainnille.

  1. Napsauta hiiren kakkospainikkeella Tämä tietokone -kuvaketta.
  2. Napsauta Ominaisuudet.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 4) Siirry järjestelmäasetuksiin.
Napsauta "Järjestelmän lisäasetukset".

Asenna ja määritä Apache Ant päälle Windows

Vaihe 5) Järjestelmän ominaisuuksista
napsauta ”Lisäasetukset”-välilehteä.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 6) Etsi ympäristömuuttujat.
Napsauta "Ympäristömuuttujat…" -painiketta.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 7) Luo uusi muuttuja.
Napsauta "Uusi" luodaksesi uuden käyttäjämuuttujan.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 8) Syötä muuttujan tiedot.
Syötä uuden käyttäjämuuttujan tiedot.

  1. Syötä muuttujan nimi muodossa ANT_HOME.
  2. Syötä muuttujan arvoksi kansio, josta Ant purettiin, esimerkiksi C:\apache-ant-1.10.17.
  3. Napsauta “OK” -painiketta.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 9) Muuttuja luotu.
Napsauta “OK” -painiketta.

Asenna ja määritä Apache Ant päälle Windows

Vaihe 10) Sulje näyttö.
Napsauta "OK" sulkeaksesi näytön.

Asenna ja määritä Apache Ant päälle Windows

💡 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:

Asenna ja määritä Apache Ant päälle Windows

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 yksinkertaisesti ant, koska hello on ilmoitettu oletuskohteeksi. Jos haluat käyttää eri tiedostonimeä, suorita ant -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

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 -projecthelp listaa 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.

UKK

Ant on lyhenne sanoista Another Neat Tool. James Duncan Davidson loi sen heinäkuussa 2000 työskennellessään Tomcat-version parissa, ja se lahjoitettiin Apache Softwarelle. Foundation.

Ei, mutta Ant etsii build.xml-tiedostoa oletusarvoisesti nykyisestä hakemistosta. Mikä tahansa muu nimi toimii, kun se annetaan komentorivillä -f- tai -buildfile-valitsimella.

Ei yksinään. Apache Ivy on kumppaniprojekti, joka lisää riippuvuuksien ratkaisemisen, ja se voi ladata artefakteja samoista repositorioista, joita Maven käyttää.

Path-muuttujasta puuttuu bin-kansio tai ANT_HOME osoittaa väärään hakemistoon. Avaa uusi komentokehote muuttujien muokkaamisen jälkeen, koska olemassa olevat ikkunat säilyttävät vanhat arvot.

Kyllä vakiomuotoisille käännös-, jar- ja testikohteille. Tarkista luokkapolkujen merkinnät ja includeantruntime-attribuutti, koska luodut tiedostot usein jättävät ne pois ja tuottavat hämmentäviä varoituksia.

Kyllä perinnön säilyttämiseksi Java järjestelmiin, joissa olemassa olevaa versiota ei voida siirtää halvalla. Uudet projektit aloitetaan yleensä Mavenilla tai Gradle, jota tekoälytyökalut myös tukevat luotettavammin.

Tiivistä tämä viesti seuraavasti: