Apache ANT Eğitimi: Ant Oluşturma Aracı Nedir? Örnek

⚡ Akıllı Özet

Apache ANT bir Java XML derleme dosyası aracılığıyla derleme, test etme, paketleme ve dağıtımı otomatikleştiren, XML tabanlı bir derleme aracı. Bu makale, aracı tanımlamaktadır. tractarihini kapsar. Windows Kurulumu açıklıyor, proje yapısını anlatıyor ve Maven ile karşılaştırıyor. Gradle.

  • 🔨 Temel Tanım: Ant, "Another Neat Tool" (Başka Bir Harika Araç) kelimelerinin kısaltmasıdır ve komut satırından kaynak kodunu çalıştırılabilir bir uygulamaya dönüştürür.
  • 📄 Derleme Dosyası: Her komut, genellikle build.xml olarak adlandırılan ve ek bir programlama diline ihtiyaç duymayan bir XML dosyasında yer alır.
  • 🧱 Üç Düğümlü Yapı: Bir derleme dosyası her zaman görevleri hedeflerin içine, hedefleri de tek bir proje öğesinin içine yerleştirir.
  • 🔗 Bağımlılık Kontrolü: `depends` özniteliği hedeflerin sırasını belirler, bu nedenle derleme her zaman `jar` ve dağıtımdan önce çalışır.
  • ⚙️ Ortam Kurulumu: Kurulum için JDK, ANT_HOME değişkeni ve Ant bin klasörünün sistem yoluna eklenmesi gerekmektedir.
  • 🆚 Araç Karşılaştırması: Ant, prosedürel özgürlük sunarken, Maven bağımlılık yönetimiyle gelenekleri zorunlu kılıyor ve Gradle Her ikisini de betik tabanlı bir derleme ile birleştirir.
  • 🌍 Taşınabilirlik Avantajı: Bir derleme işlemi tamamen aynı şekilde çalışır. Windows ve Linux'un bulunduğu her yerde Java Sanal makine kullanılabilir durumda.

Apache ANT Eğitimi

Oluşturma Aracı nedir?

Yapı aracı, bir programın yeni bir sürümünü oluşturmak için kullanılan bir programlama aracıdır. Herhangi bir kaynak kodundan yürütülebilir bir uygulamanın oluşturulmasını otomatikleştirir.

Bir derleme aracı olmadan, bir geliştirici her değişiklikte her kaynak dosyasını manuel olarak derler, kaynakları kopyalar, test paketini çalıştırır ve sonucu paketlerdi. Bir derleme aracı bu adımları bir kez kaydeder ve her makinede aynı şekilde tekrarlar.

Apache Karınca Nedir?

Apaçi Karınca bir Javaoluşturmak için tabanlı komut satırı aracı Java saflığın tam taşınabilirliğine sahip uygulamalar Java Kod. Geliştiricilerin çevik prensipleri ve test odaklı geliştirmeyi benimsemelerine ve dokümantasyon oluşturma gibi tekrarlayan geliştirme görevlerini otomatikleştirmelerine olanak tanır. Ant, "Another Neat Tool" (Başka Bir Harika Araç) kelimelerinin kısaltmasıdır.

Apaçi Karınca

Şemada gösterildiği gibi, Ant bir derleme dosyasını okur, içindeki hedeflerin sırasını belirler ve ardından uygulamayı derleyen, kopyalayan, test eden ve paketleyen ayrı ayrı görevleri çalıştırır.

Apache Ant Build aracı ne için kullanılır?

İşte derleme aracını kullanmanın önemli faydaları:

  • Bir derleme aracı, kaynak kodunu derlemek, yazılım testlerini çalıştırmak ve yazılım dağıtımı için dosyalar oluşturmak gibi belirli tekrarlayan görevleri otomatikleştirmenizi sağlar.
  • Derleme araçları çoğunlukla grafiksel kullanıcı arayüzü olmadan çalışır.
  • Kaynak kodunu çalıştırılabilir koda dönüştürmenize yardımcı olur.
  • Dosyanın yalnızca gerekli olması durumunda yeniden derlenmesi seçeneğini sunar.
  • Bu sayede çok sayıda dosyayı nispeten kısa sürede derleyebilirsiniz.
  • tarafından kullanılan iki yaygın popüler oluşturma aracı Java Geliştiriciler Apache'dir. Maven ve Ant.

Apache Ant'ın Tarihi

Şimdi Apache Ant derleme aracının tarihçesini öğreneceğiz.

Apache Ant aracından önemli tarihi yerler şunlardır:

  • James Duncan Davidson, Ant'ı Temmuz 2000'de yarattı.
  • Başlangıçta Tomcat'i oluşturmak için kullanıldı ve Tomcat dağıtım kitinin yerleşik bir ürünü olarak geldi.
  • Mayıs 2014'te, birçok gelişmiş özelliğe sahip Apache Ant'ın 1.9.4 sürümü yayınlandı.
  • 1.10.x serisi 2017 yılında başladı ve halen aktif olarak sürdürülen bir daldır.
  • 1.10.17 sürümü 10 Nisan 2026 tarihinde yayınlandı ve minimum gereksinimler içeriyor. Java 8 çalışma süresi.

Apache Ant'ın Özellikleri

İşte Apache Ant'ın temel özellikleri:

  • Açık kaynaklı bir projedir.
  • Bu, derlemeleri her ikisinde de çalıştırmanıza olanak tanır. Windows ve UNIX veya Linux sistemleri.
  • Sadece bir şeye ihtiyacınız var. JVMÇünkü bir JVM'nin bulunduğu her yerde çalışır.
  • Geniş bir yelpazede önceden tanımlanmış görevler sunmaktadır.
  • Dosyaları bir konumdan diğerine kopyalamanıza yardımcı olur.
  • Özel görevler geliştirmek için bir arayüz sunar.
  • Bu özellik, komut satırından derleme işlemlerini başlatmanıza olanak tanır ve kolayca entegre olur. ücretsiz ve ticari IDE'ler.
  • Bu, ikili dosyaları bir test sunucusuna dağıtmanıza olanak tanır.
  • Genişletilebilir bir mimari sunuyor.
  • Bu, farklı sürümler arasında geriye dönük uyumluluk sunar.

Apache Ant Nasıl Kurulur ve Yapılandırılır Windows

Şimdi Apache Ant'ı nasıl kuracağımızı öğreneceğiz. Windows.

Zaten indirip yüklediğinizi varsayıyoruz. Java Geliştirme Kiti Bilgisayarınızda JDK'yı kurun. JAVA_HOME ortam değişkeninin, JDK'nın kurulu olduğu klasöre ayarlandığından emin olun. Ant'ı kurmak için aşağıdaki adımları izleyin:

) 1 Adım İkili dosyaları indirin.
İkili dosyaları şuradan indirin: https://ant.apache.org/bindownload.cgi

Apache Ant'ı Kurun ve Yapılandırın Windows

) 2 Adım Dosyaları açın.
Bu zip dosyasını c:\klasör gibi uygun bir konuma açın. WinZip, WinRAR, 7-Zipveya benzer bir araç.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 3 Adım Bir ortam değişkeni oluşturun.
“ANT_HOME” adında bir ortam değişkeni oluşturun ve değişkenin değerini Ant klasörünün konumuna atayın.

  1. "Bu Bilgisayar" simgesine sağ tıklayın.
  2. Özellikler üzerine tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 4 Adım Sistem ayarlarına gidin.
“Gelişmiş sistem ayarları”na tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 5 Adım Sistem özelliklerinde,
“Gelişmiş” sekmesine tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 6 Adım Çevresel değişkenleri bulun.
“Ortam değişkenleri…” düğmesine tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 7 Adım Yeni bir değişken oluşturun.
Yeni bir kullanıcı değişkeni oluşturmak için “Yeni”ye tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 8 Adım Değişken detaylarını girin.
Yeni kullanıcı değişkeninin ayrıntılarını girin.

  1. Değişken adını ANT_HOME olarak girin.
  2. Değişken değerini, Ant'ın sıkıştırılmış dosyadan çıkarıldığı klasör olarak girin, örneğin C:\apache-ant-1.10.17.
  3. "Tamam" düğmesine tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 9 Adım Değişken oluşturuldu.
"Tamam" düğmesine tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

) 10 Adım Ekranı kapatın.
Ekranı kapatmak için “Tamam”a tıklayın.

Apache Ant'ı Kurun ve Yapılandırın Windows

💡 İpucu: ANT_HOME, kurulum klasörünün kendisini işaret etmelidir, içindeki bin klasörünü değil. Ardından şunu ekleyin: %ANT_HOME%\bin Path değişkenine ekleme yapılır, böylece ant komutu herhangi bir dizinden tanınabilir.

Ant kurulumunun başarılı olup olmadığını ty komutuyla doğrulayabilirsiniz.ping Komut isteminde "ant -version" komutunu çalıştırın.

Aşağıdaki ekranı göreceksiniz:

Apache Ant'ı Kurun ve Yapılandırın Windows

Apache ANT örneği

Aşağıdaki derleme dosyası, bir mesaj yazdıran "hello" adlı tek bir hedef tanımlar. Proje öğesi bir ad ve varsayılan bir hedef belirtir, böylece Ant, komut satırında hiçbir hedef belirtilmediğinde ne çalıştıracağını bilir.

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

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

</project>

Bu dosyayı “build.xml” olarak kaydedin, ardından şu iki adımı izleyin:

  • Komut istemini açın ve build.xml dosyasını içeren dizine gidin.
  • koşmak ant hello, ya da sadece antÇünkü "hello" varsayılan hedef olarak tanımlanmıştır. Farklı bir dosya adı kullanmak için şunu çalıştırın: ant -f mybuild.xml hello.

Çıktı:

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

hello:
     [echo] Hello, World

BUILD SUCCESSFUL
Total time: 0 seconds

ANT Proje Yapısı

ANT Proje Yapısı

ANT Proje Yapısı

Yapı şemasında gösterildiği gibi, her yapı üç düğüm içerecektir:

  • Proje
  • Target
  • Görev

Proje

Apache ANT'deki derleme dosyasındaki her şey bir proje altındadır.

Özellikler:

  • Adınız: Projenin adı.
  • Basedir: Bu, tüm yolların hesaplanacağı dizindir. Bu, "basedir" özelliği kullanılarak geçersiz kılınabilir.
  • Varsayılan: Bu proje için varsayılan hedefi tanımlamanıza yardımcı olur. Herhangi bir hedef belirtilmezse, Ant varsayılanı çalıştıracaktır.

Target

Hedef, derleme sürecinde belirli bir duruma ulaşmak için tanımlanan bir dizi görevdir.

Özellikler:

  • Adınız: Hedefin adı (zorunlu).
  • Descriptiyon: Descripthedef iyonu.
  • Bağlı olmak: Bu mevcut hedefin bağlı olduğu hedef hangisidir?
  • Eğer: Hedef özelliğe bir değer atanmışsa, hedef komutu yalnızca o zaman yürütür.
  • Aksi takdirde: Hedefi yalnızca özellik değeri ayarlanmamışsa yürütür.

Görevler

Bir görev, yürütülebilen bir kod parçasıdır. Görevlerin birden fazla argümanı veya özniteliği vardır.

Bir görevi yazmak için genel yöntem kalıbı şöyledir:

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

İster hazır bir görevi kullanabilir, ister kendi görevinizi oluşturabilirsiniz. Aşağıdaki tabloda neredeyse her uygulamada görünen görevler listelenmiştir. Java derleme dosyası.

Görev Amaç Tipik Özellikler
kaçırmak Konsola bir mesaj yazdırın mesaj
mkdir Bir dizin oluşturun dir
silmek Dosyaları veya dizinleri kaldırma dizin, boş dizinleri dahil et
javac Derlemek Java kaynak dosyaları srcdir, destdir, includeantruntime
kavanoz Dersleri bir JAR arşivine paketleyin. hedef dosya, temel dizin
kopya Dosyaları farklı konumlar arasında kopyalayın. dosya, todir
Junit Birim testlerini çalıştırın haltonfailure, printsummary

Birden fazla bileşen içeren eksiksiz build.xml örneği Targets

Gerçekçi bir derleme dosyası, birden fazla hedefi birbirine bağlar. `depends` özniteliği sırayı garanti eder, böylece Ant çıktı klasörünü temizler, kaynak kodu derler ve ancak ondan sonra jar dosyasını oluşturur.

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

Çıktı:

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

Üç yapı aracı öne çıkıyor. Java Ekosistemler ve her biri ne kadar yapı dayatılacağı konusunda farklı bir yaklaşım benimsiyor.

Parametre Apaçi Karınca Apache Maven Gradle
Derleme komut dosyası formatı XML XML Groovy veya Kotlin DSL
Yaklaşım Prosedürel yaklaşımda, her adımı siz tanımlarsınız. Bildirimsel, yapılandırmadan ziyade uzlaşma. Komut dosyası uzantılarıyla bildirimsel
Bağımlılık yönetimi Dahili olarak gelmedi, Apache Ivy aracılığıyla eklendi. Merkezi depo ile entegre edilmiştir. Dahili, Maven ile uyumlu
Proje yapısı Tamamen bedava Sabit standart düzen Sözleşmeye dayalı ancak geçersiz kılınabilir
artımlı yapılar Sınırlı Sınırlı Evet, derleme önbelleği ile.
Öğrenme eğrisi XML kullanıcıları için düşük seviye ılımlı Daha dik, DSL gerektirir
En uygun Eski projeler ve son derece özel yapımlar Standart Java Projeler Büyük çok modüllü ve Android Projeler

Ant, bir yapının standart bir düzene uymadığı durumlarda veya mevcut bir projenin zaten elle yazılmış hedeflere bağlı olduğu durumlarda pratik bir seçenek olmaya devam etmektedir.

Apache Ant Kullanımına İlişkin En İyi Uygulamalar

İşte Apache Ant'ı kullanırken dikkat edilmesi gereken bazı en iyi uygulamalar.

  • Özellik dosyalarını kullanarak yapı numaralandırmasını otomatikleştirmelisiniz.
  • Varsayılan ve derleme özellik dosyaları yardımıyla yapılandırılabilir bir derleme uygulayın. Bu dosyalar, derleyici sürümü ve optimizasyon ayarları gibi derleme süreciniz için verileri tanımlayan özellikleri saklamanıza olanak tanır.
  • Kitaplık özellik dosyalarını kullanarak önceden oluşturulmuş kitaplıkları yeniden kullanabilirsiniz.
  • Her hedefe bir açıklama özniteliği verin, böylece ant -projecthelp Yapım sürecinin kullanılabilir bir özetini listeler.
  • Temizleme hedef klasörünü ayrı tutun ve kaynak dosyaları da içeren bir klasörü asla silmeyin.

Apache Ant Kullanmanın Avantajları

Apache Ant kullanmanın faydaları şunlardır:

  • Ant platformdan bağımsızdır, bu nedenle dosya ayırıcıları gibi platforma özgü özellikleri yönetmenize yardımcı olur.
  • Ant, 'touch' komutunu kullanarak bir dosyanın değiştirilme zamanını değiştirmek gibi platforma özgü görevleri gerçekleştirmenize olanak tanır.
  • Ant komut dosyaları düz metin kullanılarak yazılır. XMLDolayısıyla, XML'e zaten aşina iseniz, Ant'ı hızlıca öğrenebilirsiniz.
  • Ant, önceden tanımlanmış çok sayıda görev sunmaktadır.
  • Geliştiriciler için bir arayüz sunar.ping özelleştirilmiş görevler.
  • Ant'ı komut satırından kolayca çalıştırabilirsiniz; bu da hem ücretsiz hem de ticari IDE'lerle entegrasyon sağlar.
  • Sadece bir JVM'ye ihtiyacınız var, bu nedenle JVM'nin bulunduğu her yerde çalışır.
  • Apache Ant, kullanıcıların kaynak koduna erişmesine ve onu yeniden üretmesine olanak tanıyan açık kaynaklı bir kütüphanedir.
  • Apache Ant, çeşitli platformlarda kullanılabilen ve aşağıdaki işlemleri gerçekleştirmenizi sağlayan bir araçtır: Java sınıf yolu ve dosya dizini yapısını uygun fiyatlı bir şekilde.
  • Apache Ant kullanılarak kolayca genişletilebilir Java ve diğer programlama dilleri.
  • Apache Ant, EJB derleme ve paketleme gibi J2EE geliştirme için yerleşik destek sunmaktadır.
  • Hem küçük kişisel projelerinizde hem de büyük yazılım projelerinizde veya web sitelerinizde kullanabilirsiniz.

Ant genellikle bir test çalıştırıcısı ve sürekli entegrasyon sunucusuyla birlikte kullanılır. Bkz. JUnit test katmanı için, Jenkins planlı yapımlar için ve Apache Ant kullanarak Selenium Tarayıcı test otomasyonu için. Bir derleme sırasında üretilen raporlar şu şekilde görüntülenebilir: Jasper Raporları.

SSS

Ant, "Another Neat Tool" (Başka Bir Harika Araç) kelimelerinin kısaltmasıdır. James Duncan Davidson tarafından Temmuz 2000'de Tomcat geliştirme sürecinde oluşturulmuş ve Apache Yazılım Geliştirme Şirketi'ne bağışlanmıştır. Foundation.

Hayır, ancak Ant varsayılan olarak build.xml dosyasını geçerli dizinde arar. Komut satırında -f veya -buildfile seçeneğiyle birlikte verildiğinde diğer herhangi bir isim de çalışır.

Tek başına değil. Apache Ivy, bağımlılık çözümlemesi ekleyen yardımcı bir projedir ve Maven'ın kullandığı aynı depolardan yapıtları indirebilir.

Bin klasörü Path değişkeninde eksik veya ANT_HOME yanlış dizini gösteriyor. Değişkenleri düzenledikten sonra yeni bir komut istemi açın, çünkü mevcut pencereler eski değerleri saklar.

Evet, standart derleme, jar ve test hedefleri için geçerlidir. Sınıf yolu girdilerini ve includeantruntime özniteliğini kontrol edin, çünkü oluşturulan dosyalar genellikle bunları atlar ve kafa karıştırıcı uyarılar üretir.

Evet, eski sistemi korumak için. Java Mevcut derlemenin ucuz bir şekilde taşınamadığı sistemlerde, yeni projeler genellikle Maven ile başlar veya GradleYapay zeka araçlarının da daha güvenilir bir şekilde iskelet oluşturduğu bir sistem.

Bu yazıyı şu şekilde özetleyin: