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.

  • 🔨 Põhidefinitsioon: Ant on lühend sõnadest Another Neat Tool ja see teisendab lähtekoodi käsurealt käivitatavaks rakenduseks.
  • 📄 Järgufail: Iga käsk asub XML-failis, mille tavapärane nimi on build.xml ja mis ei vaja täiendavat programmeerimiskeelt.
  • 🧱 Kolme sõlme struktuur: Ehitusfail pesastab ülesanded alati sihtmärkide sisse ja sihtmärgid ühe projektielemendi sisse.
  • 🔗 Sõltuvuste kontroll: Atribuut depends määrab sihtmärgid, seega kompileerimine toimub alati enne jar-faili ja enne juurutamist.
  • ⚙️ Keskkonna seadistamine: Installimiseks on vaja JDK-d, ANT_HOME muutujat ja süsteemi teele lisatud Ant bin kausta.
  • 🆚 Tööriistade võrdlus: Ant pakub protseduurilist vabadust, Maven jõustab sõltuvuste haldamise konventsiooni ja Gradle ühendab mõlemad skriptitud ehitusega.
  • 🌍 Kaasaskantavuse eelis: Järk töötab identselt Windows ja Linux kõikjal, kus Java Virtuaalmasin on saadaval.

Apache ANT õpetus

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.

Apache Ant

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

Installige ja konfigureerige Apache Ant sisse Windows

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.

Installige ja konfigureerige Apache Ant sisse Windows

Step 3) Looge keskkonnamuutuja.
Loo keskkonnamuutuja „ANT_HOME” jaoks ja määra muutuja väärtus Ant kausta asukohale.

  1. Paremklõpsake ikooni See arvuti.
  2. Klõpsake Atribuudid.

Installige ja konfigureerige Apache Ant sisse Windows

Step 4) Minge süsteemiseadetesse.
Klõpsake nuppu "Täpsemad süsteemiseaded".

Installige ja konfigureerige Apache Ant sisse Windows

Step 5) Süsteemi omaduste kohta
klõpsake vahekaarti „Täpsemalt”.

Installige ja konfigureerige Apache Ant sisse Windows

Step 6) Leidke keskkonnamuutujad.
Klõpsake nuppu „Keskkonnamuutujad…”.

Installige ja konfigureerige Apache Ant sisse Windows

Step 7) Loo uus muutuja.
Uue kasutajamuutuja loomiseks klõpsake nuppu "Uus".

Installige ja konfigureerige Apache Ant sisse Windows

Step 8) Sisestage muutuja üksikasjad.
Sisestage uue kasutaja muutuja üksikasjad.

  1. Sisesta muutuja nimi kujul ANT_HOME.
  2. Sisesta muutuja väärtuseks kaust, kuhu Ant lahti pakiti, näiteks C:\apache-ant-1.10.17.
  3. Klõpsake nuppu "OK".

Installige ja konfigureerige Apache Ant sisse Windows

Step 9) Muutuja loodud.
Klõpsake nuppu "OK".

Installige ja konfigureerige Apache Ant sisse Windows

Step 10) Sulgege ekraan.
Ekraani sulgemiseks klõpsake nuppu "OK".

Installige ja konfigureerige Apache Ant sisse Windows

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

Installige ja konfigureerige Apache Ant sisse Windows

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 lihtsalt ant, kuna vaikesihtmärgiks on deklareeritud hello. Teise failinime kasutamiseks käivitage ant -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

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

KKK

Ant on lühend sõnadest Another Neat Tool. James Duncan Davidson lõi selle 2000. aasta juulis Tomcati versiooni kallal töötades ja see annetati Apache Software'ile. Foundation.

Ei, aga Ant otsib vaikimisi build.xml faili praegusest kataloogist. Igasugune muu nimi töötab, kui see edastada käsurealt valikuga -f või -buildfile.

Mitte iseseisvalt. Apache Ivy on kaasprojekt, mis lisab sõltuvuste lahendamise ja saab artefakte alla laadida samadest repositooriumidest, mida Maven kasutab.

Muutujast Path puudub kaust bin või ANT_HOME osutab valele kataloogile. Avage pärast muutujate muutmist uus käsuviip, sest olemasolevad aknad säilitavad vanad väärtused.

Jah standardsete kompileerimis-, JAR- ja testisihtmärkide puhul. Kontrollige classpath kirjeid ja includeantruntime atribuuti, sest genereeritud failides on need sageli puudu ja need annavad segadust tekitavaid hoiatusi.

Jah, pärandi säilitamiseks Java süsteemid, kus olemasolevat versiooni ei saa odavalt migreerida. Uued projektid algavad tavaliselt Maveniga või Gradle, mille tehisintellekti tööriistad toetavad ka usaldusväärsemalt.

Võta see postitus kokku järgmiselt: