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.
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.
Ş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
) 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ç.
) 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.
- "Bu Bilgisayar" simgesine sağ tıklayın.
- Özellikler üzerine tıklayın.
) 4 Adım Sistem ayarlarına gidin.
“Gelişmiş sistem ayarları”na tıklayın.
) 5 Adım Sistem özelliklerinde,
“Gelişmiş” sekmesine tıklayın.
) 6 Adım Çevresel değişkenleri bulun.
“Ortam değişkenleri…” düğmesine tıklayın.
) 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.
) 8 Adım Değişken detaylarını girin.
Yeni kullanıcı değişkeninin ayrıntılarını girin.
- Değişken adını ANT_HOME olarak girin.
- 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.
- "Tamam" düğmesine tıklayın.
) 9 Adım Değişken oluşturuldu.
"Tamam" düğmesine tıklayın.
) 10 Adım Ekranı kapatın.
Ekranı kapatmak için “Tamam”a tıklayın.
💡 İ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 ö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 sadeceantÇü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ı
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 -projecthelpYapı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ı.














