Vodič za Apache ANT: Što je Ant Build Tool? Primjer

⚡ Pametni sažetak

Apache ANT je Java alat za izgradnju temeljen na XML-u koji automatizira kompilaciju, testiranje, pakiranje i implementaciju putem XML datoteke za izgradnju. Ovaj članak definira alat, tracnjegova povijest, pokriva Windows instalaciju, objašnjava strukturu projekta i uspoređuje ga s Mavenom i Gradle.

  • 🔨 Osnovna definicija: Ant je akronim za Another Neat Tool i pretvara izvorni kod u izvršnu aplikaciju iz naredbenog retka.
  • 📄 Datoteka za izradu: Svaka instrukcija se nalazi u XML datoteci, konvencionalno nazvanoj build.xml, koja ne zahtijeva dodatni programski jezik.
  • 🧱 Struktura s tri čvora: Datoteka za izgradnju uvijek ugnijezdi zadatke unutar ciljeva, a ciljeve unutar jednog elementa projekta.
  • 🔗 Kontrola ovisnosti: Atribut depends naručuje ciljeve, tako da se kompajliranje uvijek izvršava prije jar-a i prije implementacije.
  • Postavljanje okruženja: Instalacija zahtijeva JDK, varijablu ANT_HOME i mapu Ant bin dodanu u sistemsku putanju.
  • 🆚 Usporedba alata: Ant nudi proceduralnu slobodu, Maven provodi konvenciju s upravljanjem ovisnostima, a Gradle kombinira oboje sa skriptiranom izgradnjom.
  • 🌍 Prednost prenosivosti: Izrada se izvodi identično na Windows i Linux gdje god se Java Virtualni stroj je dostupan.

Vodič za Apache ANT

Što je alat za izgradnju?

Alat za izgradnju je programski alat koji se koristi za izgradnju nove verzije programa. Automatizira stvaranje izvršne aplikacije iz bilo kojeg izvornog koda.

Bez alata za izgradnju, programer bi ručno kompajlirao svaku izvornu datoteku, kopirao resurse, pokrenuo testni paket i pakirao rezultat pri svakoj promjeni. Alat za izgradnju bilježi te korake jednom i ponavlja ih identično na svakom računalu.

Što je Apache Ant?

Apaški mrav je Java-temeljen alat naredbenog retka za izgradnju Java aplikacije s potpunom prenosivošću pure Java kod. Omogućuje programerima da usvoje agilne principe i razvoj vođen testiranjem kako bi automatizirali repetitivne razvojne zadatke poput generiranja dokumentacije. Ant je akronim za Another Neat Tool (Another uredan alat).

Apaški mrav

Kao što dijagram pokazuje, Ant čita datoteku za izgradnju, razrješuje redoslijed ciljeva unutar nje, a zatim pokreće pojedinačne zadatke koji kompajliraju, kopiraju, testiraju i pakiraju aplikaciju.

Za što se koristi alat Apache Ant Build?

Evo važnih prednosti korištenja alata za izgradnju:

  • Alat za izgradnju omogućuje vam automatizaciju specifičnih ponavljajućih zadataka kao što su kompajliranje izvornog koda, pokretanje softverskih testova i stvaranje datoteka za implementaciju softvera.
  • Alati za izgradnju uglavnom rade bez grafičkog korisničkog sučelja.
  • Pomaže vam pretvoriti izvorni kod u izvršni kod.
  • Nudi mogućnost ponovnog kompajliranja datoteke samo ako je potrebno.
  • Omogućuje vam kompajliranje velikog broja datoteka u relativno kratkom vremenu.
  • Dva vrlo popularna alata za izradu koje koristi Java programeri su Apache Maven i Ant.

Povijest Apache Ant

Sada ćemo saznati više o povijesti alata za izgradnju Apache Anta.

Evo važnih povijesnih znamenitosti iz alata Apache Ant:

  • James Duncan Davidson stvorio je Anta u srpnju 2000.
  • U početku je korišten za izgradnju Tomcata i došao je kao ugrađeni proizvod Tomcat distribucijskog kompleta.
  • U svibnju 2014. objavljena je Apache Ant verzija 1.9.4 s mnogim naprednim značajkama.
  • Linija 1.10.x započela je 2017. godine i ostaje aktivno održavana grana.
  • Verzija 1.10.17 objavljena je 10. travnja 2026. i zahtijeva minimalno Java 8 vremena izvođenja.

Značajke Apache Ant

Evo bitnih značajki Apache Anta:

  • Riječ je o projektu otvorenog koda.
  • Omogućuje vam pokretanje verzija na oba Windows i UNIX ili Linux sustave.
  • Potrebno vam je samo JVM, jer se pokreće bilo gdje gdje je dostupan JVM.
  • Nudi širok raspon unaprijed definiranih zadataka.
  • Pomaže vam kopirati datoteke s jedne lokacije na drugu.
  • Nudi sučelje za razvoj prilagođenih zadataka.
  • Omogućuje vam pozivanje izrada iz komandne linije, što se lako integrira s besplatni i komercijalni IDE-ovi.
  • Omogućuje vam postavljanje binarnih datoteka na testni poslužitelj.
  • Nudi proširivu arhitekturu.
  • Nudi unatrag kompatibilnu verziju između izdanja.

Kako instalirati i konfigurirati Apache Ant na Windows

Sada ćemo naučiti proces instaliranja Apache Ant-a na Windows.

Pretpostavljamo da ste već preuzeli i instalirali Java Komplet za razvoj (JDK) na vašem računalu. Provjerite je li varijabla okruženja JAVA_HOME postavljena na mapu u kojoj je instaliran vaš JDK. Slijedite korake u nastavku za instaliranje Anta:

Korak 1) Preuzmite binarne datoteke.
Preuzmite binarne datoteke s https://ant.apache.org/bindownload.cgi

Instalirajte i konfigurirajte Apache Ant Windows

Korak 2) Raspakirajte datoteke.
Raspakirajte ovu zip datoteku na prikladno mjesto kao što je c:\mapa, koristeći WinZip, WinRAR, 7-Zip, ili sličan alat.

Instalirajte i konfigurirajte Apache Ant Windows

Korak 3) Stvorite varijablu okoline.
Izradite varijablu okruženja za „ANT_HOME“ i dodijelite vrijednost varijable lokaciji Ant mape.

  1. Desnom tipkom miša kliknite ikonu Ovo računalo.
  2. Kliknite Svojstva.

Instalirajte i konfigurirajte Apache Ant Windows

Korak 4) Idite na postavke sustava.
Kliknite na "Napredne postavke sustava".

Instalirajte i konfigurirajte Apache Ant Windows

Korak 5) Na svojstvima sustava,
kliknite na karticu "Napredno".

Instalirajte i konfigurirajte Apache Ant Windows

Korak 6) Pronađite varijable okruženja.
Kliknite gumb "Varijable okruženja...".

Instalirajte i konfigurirajte Apache Ant Windows

Korak 7) Stvorite novu varijablu.
Kliknite na "Novo" za stvaranje nove korisničke varijable.

Instalirajte i konfigurirajte Apache Ant Windows

Korak 8) Unesite detalje varijable.
Unesite detalje nove korisničke varijable.

  1. Unesite naziv varijable kao ANT_HOME.
  2. Unesite vrijednost varijable kao mapu u koju je Ant raspakiran, na primjer C:\apache-ant-1.10.17.
  3. Kliknite na gumb “OK”.

Instalirajte i konfigurirajte Apache Ant Windows

Korak 9) Varijabla je kreirana.
Kliknite na gumb “OK”.

Instalirajte i konfigurirajte Apache Ant Windows

Korak 10) Zatvori zaslon.
Pritisnite “OK” za zatvaranje ekrana.

Instalirajte i konfigurirajte Apache Ant Windows

💡 Savjet: ANT_HOME mora pokazivati ​​na samu instalacijsku mapu, a ne na mapu bin unutar nje. Zatim dodajte %ANT_HOME%\bin u varijablu Path, tako da se ant naredba prepoznaje iz bilo kojeg direktorija.

Uspješnu instalaciju Anta možete provjeriti pomoću typing naredbu „ant -version“ u naredbenom retku.

Vidjet ćete sljedeći zaslon:

Instalirajte i konfigurirajte Apache Ant Windows

Primjer Apache ANT-a

Datoteka za izgradnju u nastavku definira jedan cilj pod nazivom hello koji ispisuje poruku. Element projekta deklarira naziv i zadani cilj, tako da Ant zna što pokrenuti kada u naredbenom retku nije naveden nijedan cilj.

<?xml version="1.0"?>
<project name="HelloWorld" default="hello" basedir=".">

    <target name="hello">
        <echo>Hello, World</echo>
    </target>

</project>

Spremite ovu datoteku kao „build.xml“, a zatim slijedite ova dva koraka:

  • Otvorite naredbeni redak i premjestite se u direktorij koji sadrži datoteku build.xml.
  • trčanje ant hello, ili jednostavno ant, jer je hello deklariran kao zadani cilj. Za korištenje drugog naziva datoteke, pokrenite ant -f mybuild.xml hello.

Izlaz:

Buildfile: C:\projects\demo\build.xml

hello:
     [echo] Hello, World

BUILD SUCCESSFUL
Total time: 0 seconds

Struktura ANT projekta

Struktura ANT projekta

Struktura ANT projekta

Kao što dijagram strukture pokazuje, svaka izgradnja će sadržavati tri čvora:

  • Projekt
  • Target
  • Zadatak

Projekt

Sve unutar datoteke za izgradnju u Apache ANT-u je pod projektom.

Značajke:

  • Ime: Naziv projekta.
  • Bazirano: Ovo je direktorij iz kojeg će se izračunati sve putanje. To se može nadjačati korištenjem svojstva "basedir".
  • Zadano: Pomaže vam definirati zadani cilj za ovaj projekt. Ako cilj nije zadan, Ant će izvršiti zadani.

Target

Cilj je skup zadataka koji je definiran kako bi se doseglo određeno stanje u procesu izgradnje.

Značajke:

  • Ime: Naziv cilja (obavezno).
  • Description: Description cilja.
  • Ovisi: Od kojeg cilja ovisi ovaj trenutni cilj.
  • Ako: Izvršava cilj samo ako je vrijednost postavljena za ciljno svojstvo.
  • Osim ako: Izvršava cilj samo ako vrijednost svojstva nije postavljena.

Zadaci

Zadatak je dio koda koji se može izvršiti. Zadaci imaju više argumenata ili atributa.

Opći obrazac metode za pisanje zadatka je sljedeći:

<name attribute1="value" attribute2="value2"…/>

Možete koristiti ugrađeni zadatak ili možete izraditi vlastiti zadatak. Tablica u nastavku navodi zadatke koji se pojavljuju u gotovo svakom Java datoteka za izgradnju.

Zadatak Svrha Tipični atributi
odjek Ispis poruke u konzolu poruka
mkdir Napravite imenik vi
izbrisati Uklonite datoteke ili direktorije direktorij, uključujući prazne direktorije
javac Sastaviti Java izvorne datoteke srcdir, destdir, includeantruntime
staklenka Pakiranje klasa u jar arhivu odredišna datoteka, baza podataka
kopija Kopiranje datoteka između lokacija datoteka, todir
junit Pokreni jedinične testove haltonfailure, printsummary

Primjer kompletne datoteke build.xml s višestrukim Targets

Realistična datoteka za izgradnju povezuje nekoliko ciljeva zajedno. Atribut depends jamči redoslijed, pa Ant čisti izlaznu mapu, kompajlira izvorni kod i tek onda gradi jar datoteku.

<?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>

Izlaz:

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 protiv Mavena Gradle

Tri alata za izgradnju dominiraju Java ekosustav, a svaki zauzima drugačiji stav o tome koliko strukture treba nametnuti.

Parametar Apaški mrav Apache Maven Gradle
Format skripte za izradu XML XML Groovy ili Kotlin DSL
Pristup Proceduralno, vi definirate svaki korak Deklarativno, konvencija iznad konfiguracije Deklarativno sa skriptiranim proširenjima
Upravljanje ovisnostima Nije ugrađeno, dodano putem Apache Ivyja Ugrađeno s centralnim repozitorijem Ugrađeno, kompatibilno s Mavenom
Struktura projekta Potpuno besplatno Fiksni standardni raspored Temeljeno na konvenciji, ali se može nadjačati
Inkrementalne izgradnje ograničen ograničen Da, s predmemorijom izgradnje
Krivulja ucenja Nisko za XML korisnike Umjereno Strmiji, zahtijeva DSL
Najprikladniji za Stariji projekti i visoko prilagođene izrade Standard Java projekti Veliki višemodulski i Android projekti

Ant ostaje pragmatičan izbor kada izgradnja ne odgovara standardnom rasporedu ili kada postojeći projekt već ovisi o rukom pisanim ciljevima.

Najbolje prakse korištenja Apache Ant

Evo nekoliko najboljih praksi za korištenje Apache Anta.

  • Trebali biste automatizirati numeriranje izgradnje pomoću datoteka svojstava.
  • Implementirajte konfiguriranu izgradnju uz pomoć zadanih i datoteka svojstava izgradnje. Ove datoteke omogućuju vam pohranjivanje svojstava koja definiraju podatke za vaš proces izgradnje, kao što su verzija kompajlera i postavke optimizacije.
  • Možete ponovno koristiti unaprijed izgrađene biblioteke pomoću datoteka svojstava biblioteke.
  • Dajte svakom cilju atribut opisa, tako da ant -projecthelp navodi upotrebljiv sažetak gradnje.
  • Čisti cilj držite odvojeno i nikada ne brišite direktorij koji također sadrži izvorne datoteke.

Prednosti korištenja Apache Ant

Evo prednosti korištenja Apache Anta:

  • Ant je platformski neutralan, tako da vam pomaže u upravljanju svojstvima usmjerenim na platformu, kao što su separatori datoteka.
  • Ant vam omogućuje izvršavanje zadataka specifičnih za platformu, poput mijenjanja vremena izmjene datoteke pomoću naredbe 'touch'.
  • Ant skripte se pišu korištenjem običnog XML, pa ako ste već upoznati s XML-om, moći ćete brzo naučiti Ant.
  • Ant nudi veliki popis unaprijed definiranih zadataka.
  • Nudi sučelje za razvojping prilagođeni zadaci.
  • Ant možete jednostavno pozvati iz naredbenog retka, što omogućuje integraciju s besplatnim i komercijalnim IDE-ima.
  • Treba vam samo JVM, tako da se pokreće bilo gdje gdje je dostupan JVM.
  • Apache Ant je biblioteka otvorenog koda koja korisnicima omogućuje pristup izvornom kodu i njegovu reprodukciju.
  • Apache Ant je višeplatformski alat koji vam omogućuje rukovanje Java classpath i strukturu direktorija datoteka na pristupačan način.
  • Apache Ant je lako proširiv korištenjem Java i drugim programskim jezicima.
  • Apache Ant nudi ugrađenu podršku za J2EE razvoj, kao što su EJB kompilacija i pakiranje.
  • Možete ga koristiti za mali osobni projekt, kao i za veliki softverski projekt ili web stranicu.

Ant se često uparuje s testnim pokretačem i poslužiteljem za kontinuiranu integraciju. Vidi JUnit za testni sloj, Jenkins za planirane izgradnje i korištenje Apache Anta s Selenium za automatizaciju testiranja preglednika. Izvješća nastala tijekom izrade mogu se prikazati pomoću Jasper Reports.

Pitanja i odgovori

Ant je akronim za Another Neat Tool (Another uredan alat). James Duncan Davidson ga je stvorio u srpnju 2000. dok je radio na Tomcat verziji, a doniran je Apache Softwareu. Foundation.

Ne, ali Ant prema zadanim postavkama traži build.xml u trenutnom direktoriju. Bilo koje drugo ime funkcionira kada se proslijedi s opcijom -f ili -buildfile u naredbenom retku.

Ne samostalno. Apache Ivy je prateći projekt koji dodaje rješavanje ovisnosti i može preuzeti artefakte iz istih repozitorija koje koristi Maven.

Mapa bin nedostaje u varijabli Path ili ANT_HOME pokazuje na pogrešan direktorij. Otvorite novi naredbeni redak nakon uređivanja varijabli jer postojeći prozori zadržavaju stare vrijednosti.

Da za standardne ciljeve kompajliranja, jar i testiranja. Provjerite unose classpath i atribut includeantruntime, jer ih generirane datoteke često izostavljaju i proizvode zbunjujuća upozorenja.

Da za održavanje naslijeđa Java sustave, gdje se postojeća izrada ne može jeftino migrirati. Novi projekti obično počinju s Mavenom ili Gradle, koji AI alati također pouzdanije skeletiraju.

Sažmite ovu objavu uz: