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.

  • 🔨 Alapvető definíció: Az Ant az Another Neat Tool rövidítése, és a forráskódot parancssorból futtatható alkalmazássá alakítja.
  • 📄 Építési fájl: Minden utasítás egy XML fájlban található, amelyet hagyományosan build.xml-nek neveznek, és amelyhez nincs szükség további programozási nyelvre.
  • 🧱 Három csomópontos szerkezet: Egy build fájl mindig a feladatokat a célokba, a célokat pedig egyetlen projektelembe ágyazza be.
  • 🔗 Függőségvezérlés: A depends attribútum célokat rendel össze, így a fordítás mindig a jar és a telepítés előtt fut.
  • 🇧🇷 Környezet beállítása: A telepítéshez JDK-ra, az ANT_HOME változóra és a rendszerútvonalhoz hozzáadott Ant bin mappára van szükség.
  • 🆚 Szerszám-összehasonlítás: Az Ant eljárási szabadságot kínál, a Maven a függőségkezeléssel érvényesíti a konvenciókat, és Gradle mindkettőt szkriptelt builddel kombinálja.
  • 🌍 Hordozhatósági előny: Egy build azonosan fut a következőn: Windows és Linux, bárhol is legyen Java Virtuális gép elérhető.

Apache ANT oktatóanyag

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.

Apache Ant

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

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

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.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

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.

  1. Kattintson a jobb gombbal az Ez a gép ikonra.
  2. Kattintson a Tulajdonságok elemre.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 4) Menjen a rendszerbeállításokhoz.
Kattintson a „Speciális rendszerbeállítások” elemre.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 5) A rendszer tulajdonságairól,
kattintson a „Speciális” fülre.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 6) Keresd meg a környezeti változókat.
Kattintson a „Környezeti változók…” gombra.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 7) Hozz létre egy új változót.
Új felhasználói változó létrehozásához kattintson az „Új” gombra.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 8) Adja meg a változó részleteit.
Adja meg az új felhasználói változó részleteit.

  1. Írd be a változó nevét ANT_HOME formátumban.
  2. Í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.
  3. Kattintson az „OK” gombra.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 9) Változó létrehozva.
Kattintson az „OK” gombra.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

Step 10) Zárja be a képernyőt.
Kattintson az „OK” gombra a képernyő bezárásához.

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

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

Telepítse és konfigurálja az Apache Ant alkalmazást Windows

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űen ant, 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

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

GYIK

Az Ant az Another Neat Tool rövidítése. James Duncan Davidson 2000 júliusában alkotta meg, miközben a Tomcat builden dolgozott, és az Apache Software-nek adományozták. Foundation.

Nem, de az Ant alapértelmezés szerint az aktuális könyvtárban keresi a build.xml fájlt. Bármely más név működik, ha a parancssorban a -f vagy a -buildfile kapcsolóval adjuk meg.

Nem önmagában. Az Apache Ivy a társprojekt, amely függőségfeloldást biztosít, és ugyanazon adattárakból tudja letölteni az artefaktusokat, amelyeket a Maven használ.

A bin mappa hiányzik a Path változóból, vagy az ANT_HOME rossz könyvtárra mutat. Nyisson meg egy új parancssort a változók szerkesztése után, mert a meglévő ablakok megtartják a régi értékeket.

Igen a standard fordítási, jar és tesztelési célpontok esetén. Ellenőrizd az osztályútvonal-bejegyzéseket és az includeantruntime attribútumot, mert a létrehozott fájlok gyakran kihagyják ezeket, és zavaró figyelmeztetéseket adnak.

Igen, az örökség megőrzéséért Java rendszerek, ahol a meglévő build nem migrálható olcsón. Az új projektek általában Mavennel vagy Gradle, amelyet a mesterséges intelligencia eszközei is megbízhatóbban támogatnak.

Foglald össze ezt a bejegyzést a következőképpen: