Apache ANT oktatóanyag: Mi az Ant Build Tool? Példa
⚡ Okos összefoglaló
Az Apache ANT egy Java alapú építőeszköz, amely automatizálja a fordítást, tesztelést, csomagolást és telepítést egy XML build fájlon keresztül. Ez a cikk az eszközt definiálja, tracés története, kiterjed Windows telepítés, elmagyarázza a projekt felépítését, és összehasonlítja azt a Mavennel és Gradle.

Mi az építőeszköz?
A build tool egy programozási eszköz, amely egy program új verziójának elkészítésére szolgál. Automatizálja a futtatható alkalmazás létrehozását bármilyen forráskódból.
Fordítóeszköz nélkül a fejlesztő manuálisan fordítaná le az összes forrásfájlt, másolná az erőforrásokat, lefuttatná a tesztkészletet, és minden változtatáskor becsomagolná az eredményt. A fordítóeszköz egyszer rögzíti ezeket a lépéseket, és minden gépen azonosan megismétli azokat.
Mi az Apache Ant?
Apache Ant egy olyan Java-alapú parancssori eszköz az építéshez Java alkalmazások a pure teljes hordozhatóságával Java kód. Lehetővé teszi a fejlesztők számára, hogy agilis alapelveket és tesztvezérelt fejlesztést alkalmazzanak az ismétlődő fejlesztési feladatok, például a dokumentáció generálásának automatizálására. Az Ant az Another Neat Tool rövidítése.
Amint az ábra mutatja, az Ant beolvassa a build fájlt, feloldja a benne lévő célpontok sorrendjét, majd futtatja az egyes feladatokat, amelyek lefordítják, másolják, tesztelik és becsomagolják az alkalmazást.
Mire használható az Apache Ant Build eszköz?
Íme a build eszköz használatának fontos előnyei:
- Egy build eszköz lehetővé teszi bizonyos ismétlődő feladatok automatizálását, például a forráskód fordítását, szoftvertesztek futtatását és fájlok létrehozását szoftvertelepítéshez.
- Az építőeszközök többnyire grafikus felhasználói felület nélkül futnak.
- Segít a forráskód futtatható kóddá alakításában.
- Lehetőséget kínál a fájl újrafordítására, csak szükség esetén.
- Lehetővé teszi nagyszámú fájl összeállítását viszonylag rövid idő alatt.
- által használt két széles körben népszerű építőeszköz Java Apache fejlesztők Maven és Ant.
Az Apache Ant. története
Most megismerkedünk az Apache Ant build eszköz történetével.
Íme az Apache Ant eszköz fontos történelmi tereptárgyai:
- James Duncan Davidson 2000 júliusában hozta létre az Antet.
- Eredetileg a Tomcat építéséhez használták, és a Tomcat disztribúciós készlet beépített termékeként érkezett.
- 2014 májusában jelent meg az Apache Ant 1.9.4-es verziója, számos fejlett funkcióval.
- Az 1.10.x vonal 2017-ben indult, és továbbra is az aktívan karbantartott ág.
- Az 1.10.17-es verzió 2026. április 10-én jelent meg, és minimális követelményt ír elő: Java 8 futásidejű.
Az Apache Ant
Íme az Apache Ant legfontosabb jellemzői:
- Ez egy nyílt forráskódú projekt.
- Lehetővé teszi, hogy mindkét platformon buildeket futtass Windows és UNIX vagy Linux rendszereken.
- Csak egy JVM, mivel bárhol fut, ahol elérhető egy JVM.
- Előre definiált feladatok széles skáláját kínálja.
- Segít fájlok másolásában egyik helyről a másikra.
- Felületet kínál egyéni feladatok fejlesztéséhez.
- Lehetővé teszi a buildek meghívását a parancssorból, ami könnyen integrálható a következőkkel: ingyenes és kereskedelmi IDE-k.
- Lehetővé teszi a bináris fájlok telepítését egy tesztkiszolgálóra.
- Bővíthető architektúrát kínál.
- Visszafelé kompatibilitást biztosít a kiadások között.
Az Apache Ant telepítése és konfigurálása Windows
Most megismerkedünk az Apache Ant telepítésének folyamatával a következőre: Windows.
Feltételezzük, hogy már letöltötte és telepítette a Java Fejlesztőkészlet (JDK) a számítógépén. Győződjön meg arról, hogy a JAVA_HOME környezeti változó értéke az a mappa, ahová a JDK telepítve van. Az Ant telepítéséhez kövesse az alábbi lépéseket:
Step 1) Töltse le a binárisokat.
Töltse le a binárisokat innen https://ant.apache.org/bindownload.cgi
Step 2) Csomagolja ki a fájlokat.
Csomagolja ki ezt a zip fájlt egy kényelmes helyre, például a c:\mappába, a következő használatával: WinZip, WinRAR, 7-Zip, vagy egy hasonló eszköz.
Step 3) Hozzon létre egy környezeti változót.
Hozz létre egy „ANT_HOME” környezeti változót, és rendeld hozzá a változó értékét az Ant mappa helyéhez.
- Kattintson a jobb gombbal az Ez a gép ikonra.
- Kattintson a Tulajdonságok elemre.
Step 4) Menjen a rendszerbeállításokhoz.
Kattintson a „Speciális rendszerbeállítások” elemre.
Step 5) A rendszer tulajdonságairól,
kattintson a „Speciális” fülre.
Step 6) Keresd meg a környezeti változókat.
Kattintson a „Környezeti változók…” gombra.
Step 7) Hozz létre egy új változót.
Új felhasználói változó létrehozásához kattintson az „Új” gombra.
Step 8) Adja meg a változó részleteit.
Adja meg az új felhasználói változó részleteit.
- Írd be a változó nevét ANT_HOME formátumban.
- Írd be a változó értékét úgy, hogy az a mappa legyen, ahová az Ant kicsomagolásra került, például C:\apache-ant-1.10.17.
- Kattintson az „OK” gombra.
Step 9) Változó létrehozva.
Kattintson az „OK” gombra.
Step 10) Zárja be a képernyőt.
Kattintson az „OK” gombra a képernyő bezárásához.
💡 Tipp: Az ANT_HOME-nak magára a telepítési mappára kell mutatnia, nem pedig a benne található bin mappára. Ezután fűzze hozzá a %ANT_HOME%\bin a Path változóba, így az ant parancs bármely könyvtárból felismerhető.
A sikeres Ant telepítést a következőképpen ellenőrizheted:ping az „ant -version” parancsot a parancssorban.
A következő képernyőt fogja látni:
Példa az Apache ANT-ra
Az alábbi build fájl egyetlen, hello nevű célpontot definiál, amely egy üzenetet ír ki. A project elem deklarál egy nevet és egy alapértelmezett célpontot, így az Ant tudja, mit futtasson, ha a parancssorban nincs megnevezve célpont.
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
Mentse el ezt a fájlt „build.xml” néven, majd kövesse az alábbi két lépést:
- Nyisd meg a parancssort, és lépj abba a könyvtárba, amelyik tartalmazza a build.xml fájlt.
- futás
ant hello, vagy egyszerűenant, mivel a hello az alapértelmezett célpont. Más fájlnév használatához futtassa a következőt:ant -f mybuild.xml hello.
output:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
ANT projekt felépítése
ANT projekt felépítése
Ahogy a szerkezeti ábra mutatja, minden build három csomópontot tartalmaz:
- NetPoulSafe projekt
- Target
- Feladat
NetPoulSafe projekt
Az Apache ANT build fájljában minden egy projekt alatt van.
Tulajdonságok:
- Név: A projekt neve.
- Székhely: Ez az a könyvtár, amelyből az összes elérési út kiszámításra kerül. Ez felülírható a „basedir” tulajdonság használatával.
- Alapértelmezett: Segít meghatározni a projekt alapértelmezett célját. Ha nincs megadva cél, akkor az Ant az alapértelmezettet fogja végrehajtani.
Target
A cél egy feladathalmaz, amelyet úgy definiálnak, hogy elérjen egy adott állapotot a build folyamatban.
Tulajdonságok:
- Név: A cél neve (kötelező).
- Description: Descripta célpont ionja.
- Attól függ: Ez a jelenlegi célpont melyik céltól függ.
- Ha a: Csak akkor hajtja végre a célt, ha egy céltulajdonsághoz érték van beállítva.
- Hacsak: Csak akkor hajtja végre a célt, ha a tulajdonság értéke nincs beállítva.
Feladatok
A feladat egy végrehajtható kódrészlet. A feladatok több argumentummal vagy attribútummal rendelkeznek.
A feladatírás általános metódusmintája a következő:
<name attribute1="value" attribute2="value2"…/>
Használhatsz beépített feladatot, vagy létrehozhatsz sajátot is. Az alábbi táblázat felsorolja azokat a feladatokat, amelyek szinte mindenben megjelennek. Java build fájl.
| Feladat | Cél | Tipikus tulajdonságok |
|---|---|---|
| visszhang | Üzenet nyomtatása a konzolra | üzenet |
| mkdir | Hozzon létre egy könyvtárat | dir |
| töröl | Fájlok vagy könyvtárak eltávolítása | könyvtár, beleértve az üres könyvtárakat |
| jávai | Összeállít Java forrás fájlok | srcdir, destdir, includeantruntime |
| korsó | Osztályok becsomagolása egy jar archívumba | célfájl, alapú könyvtár |
| másolat | Fájlok másolása helyek között | fájl, todir |
| junit | Egységtesztek futtatása | haltonfailure, printsummary |
Teljes build.xml példa több elemmel Targets
Egy realisztikus build fájl több célt láncol össze. A depends attribútum garantálja a sorrendet, így az Ant kiüríti a kimeneti mappát, lefordítja a forráskódot, és csak ezután fordítja le a jar fájlt.
<?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>
output:
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
Három építőeszköz uralja a Java ökoszisztéma, és mindegyik más álláspontot képvisel abban, hogy mennyi struktúrát kell alkalmazni.
| Vizsgált paraméter | Apache Ant | Apache Maven | Gradle |
|---|---|---|---|
| Szkript formátumának létrehozása | XML | XML | Groovy vagy Kotlin DSL |
| Megközelítés | Eljárásilag minden lépést Ön határoz meg | Deklaratív, konfigurációs konvenció | Deklaratív szkriptelt kiterjesztésekkel |
| Függőségkezelés | Nincs beépítve, az Apache Ivy-n keresztül hozzáadva | Beépített központi adattárral | Beépített, Maven-kompatibilis |
| A projekt felépítése | Teljesen ingyenes | Fix standard elrendezés | Konvencióalapú, de felülírható |
| Inkrementális buildek | Korlátozott | Korlátozott | Igen, egy build gyorsítótárral |
| Tanulási görbe | Alacsony XML-felhasználók számára | Mérsékelt | Meredekebb, DSL-t igényel |
| Legmegfelelőbb | Régi projektek és nagymértékben egyedi buildek | Standard Java projektek | Nagy, többmodulos és Android projektek |
Az Ant továbbra is a pragmatikus választás, ha egy build nem illeszkedik egy szabványos elrendezéshez, vagy ha egy meglévő projekt már kézzel írott céloktól függ.
Az Apache Ant
Íme néhány bevált gyakorlat az Apache Ant használatához.
- A build számozását tulajdonságfájlok segítségével kell automatizálnia.
- Implementáljon egy konfigurálható buildet az alapértelmezett és build tulajdonságfájlok segítségével. Ezek a fájlok lehetővé teszik olyan tulajdonságok tárolását, amelyek meghatározzák a build folyamatához szükséges adatokat, például a fordító verzióját és az optimalizálási beállításokat.
- Az előre elkészített könyvtárakat újra felhasználhatja a könyvtártulajdonságfájlok segítségével.
- Adjon minden célpontnak egy leíró attribútumot, hogy
ant -projecthelpfelsorolja a build használható összefoglalását. - Tartsd a tiszta célmappát külön, és soha ne törölj olyan könyvtárat, amelyben forrásfájlok is találhatók.
Az Apache Ant
Az Apache Ant használatának előnyei a következők:
- Az Ant platformfüggetlen, így segít a platformközpontú tulajdonságok, például a fájlelválasztók kezelésében.
- Az Ant lehetővé teszi platformspecifikus feladatok végrehajtását, például egy fájl módosítási idejének módosítását a 'touch' parancs használatával.
- A hangyaszkriptek egyszerű nyelven íródnak. XML, tehát ha már ismered az XML-t, akkor gyorsan elsajátíthatod az Ant-et is.
- Az Ant előre definiált feladatok nagy listáját kínálja.
- Fejlesztői felületet kínálping testreszabott feladatok.
- Az Ant könnyen meghívható parancssorból, ami lehetővé teszi az integrációt az ingyenes és kereskedelmi IDE-kkel.
- Csak egy JVM-re van szükséged, így bárhol fut, ahol elérhető egy JVM.
- Az Apache Ant egy nyílt forráskódú könyvtár, amely lehetővé teszi a felhasználók számára a forráskód elérését és reprodukálását.
- Az Apache Ant egy többplatformos eszköz, amely lehetővé teszi a következők kezelését: Java osztályútvonal és fájlkönyvtár-struktúra megfizethető módon.
- Az Apache Ant segítségével könnyen bővíthető Java és más programozási nyelvek.
- Az Apache Ant beépített támogatást kínál a J2EE fejlesztéshez, például az EJB fordításhoz és csomagoláshoz.
- Használhatod kisebb személyes projektekhez, de akár nagy szoftverprojektekhez vagy weboldalakhoz is.
Az Ant-et gyakran párosítják egy tesztfuttatóval és egy folyamatos integrációs szerverrel. Lásd: JUnit a tesztréteghez, Jenkins ütemezett buildekhez, és Apache Ant használatával Selenium böngészőtesztelési automatizáláshoz. A build során előállított jelentések megjeleníthetők a következővel: JasperReports.













