Ant: Java yazılımcıları için Cankurtaran

By-CyL1nD3r

Uzman üye
1 Eyl 2008
1,485
14
BuRs4
Ant: Java yazılımcıları için Cankurtaran

Butun yazilim projelerinde bir is bolumu vardir.
Programcilar, kod yazip diske saklar test yazip programin iyi durumda olup olmadigini kontrol ederler. Cok yaratici olan bu islemin, onunde ne kadar az engel varsa o kadar iyi tabii. Eger testlerin durumu iyi ise, kodu Kaynak Kontrol Sistemine eklerler. Boylece yeni kodu herkes gorebilir. Gunun sonunda mutlu bir sekilde evlerine gidebilirler.
Ayni proje icinde, bir, yada daha fazla arkadasinizin gorevi, mesela kodu KKI'dan cekip, Internet'te kurmak olabilir. Kurmak derken, mesela www.arabeni.com sitesinin kodunu, programcilarin yazdigi en son guncel kod ile 'guncellestirmekten' bahsediyorum.
Amaclar rahat gibi gozukuyor. Bir kac tane Servlet yazdim, Java dosyalarimis var (.JAVA). Hemen bu dosyalari derleyip, cikan .CLASS dosyalari Internet makinesine kopyalarim... Sunucu programi indirip/kaldirirsam, yeni program isleme girmis olacak.
Basit gelse de kulaga, ihtiyac listemiz aslinda az/buz degil.

* Her makinanin degisik dosya yapisi var. Kimisinde Java derleyicisi /usr/local/java altinda, kimisinde /opt/java altinda. Derleme komutunu verince, derleyici her makinede ayni sekilde calisacak mi?
* Programi Internet'e iletmek icin, ayni seyleri ayni sirada birkac kere yapmak gerekebilir. Mesela program /usr/local/tomcat/webapps/arabeni.com/ altina gidecek. Sunucu program durdurulup/baslatilacak. Veri tabani tablo haritasi degisecek .
* Butun bu islemleri make programi ile yapabilirsiniz, ama make, C++ programcilari icin yazilmis. Java anlamiyor be kardesim. .CLASS dosyalari /usr/falan/classes/ altina gitsin istiyorum, JAVA dosyalari yerinde kalsin. MAKE beni cok ugrastiyor.
* Symantec, Borland gibi programlari aklinizdan cikarin. Programi Internet'te kuracak olan arkadasiniz gorsel programlarla ugrasamaz. Zaten Internet makinesinde buyuk ihtimalle gorsel hic bir sey olmayacaktir (X-windows mesela). Bu makineler daha hizli olsun, ve hacker arkadaslarin kirabilecegi bir suru program bulunmasin diye, gereksiz olan hersey silinir.
* "Bizim Internet ortami tamamen Windows! Her yerde gorsel programlarimiz var bizim" diyebilirsiniz.. Fakat sunucu ortamda Windows kullanmanin sorunlari var, bu satirlarin amaci bu problemlere yardim degil. Unix'e gecerek betik tanimlama seviyesine gelirseniz, ant gibi programlardan faydalanabilirsiniz

Cozum Ant

Bu tip sorunlar icin ANT programi cok uygun. (Google'dan jakarta ve ant yazarak programi nereden indireceginizi bulabilirsiniz).
ANT kullanmak icin, proje basina sadece bir tane build.xml yazmak yeterli. Mesela, butun Java kayitlarini derlemek icin, asagidakini build.xml icine yazin.
<project name="bizim_proje" default="java" basedir=".">
<property name="classes" value="${build}/WEB-INF/classes" />
<property name="build" value="${basedir}/build" />

<target name="java" depends="init">
<javac destdir="${classes}" srcdir="${basedir}/java">
<classpath refid="cp" />
<include name="*.java"/>
</javac>
</target>
</project>
Bu dosya tanimlandiktan sonra, derleme icin <kod>$ ant java</kod> demeniz yeterli olacaktir. 'java' diye tanimladiginiz kelime, bir 'hedef kelime'dir.
Neden Ant

Ant programi ile Make arasinda temel olarak benzerlikler olsa bile, aslina ant cok ustun bir yazilim. Mesela, javac kelimesi, bir arac kelimedir. 'Arac' kelimeleri bir araya getirerek 'hedef kelimeler' tanimlamak mumkun oluyor. Ant, bir cok arac kelimeyi onceden tanimlamis, bu yuzden tekerlegi bastan icat etmenize gerek kalmiyor. Mesela, javac arac kelimesi, arka planda bir Java programi isletir. Bu program, onceden tanimladigi uzere, mesela /usr/ dizin seviyesinden baslayip, asagiya dogru inip butun java kayitlarini derler, ve tanimlanan baska bir yere koyar. Butun bunlari bourne shell ya da make kullanarak yapmaya kalksaniz, betik kodunuz cok uzardi.
Ant'in yararli oldugu diger islere gelelim:

* Dosya kopyalama cok rahat
* Onceden tanimli XSL arac kelimesi var.
* Onceden tanimli XSL arac kelimesi var. ********* kullanarak butun XML dosyalarinizi, bir tek komut ile HTML'e cevirmeniz mumkun.
* Isletim sistemi komutlari isletmek cok rahat <exec> arac kelimesi ile bunu basarabilirsiniz
* Aynen make'de oldugu gibi, hedef kelimeleri birbirine baglamak mumkun. Mesela bir Java kayidi degistiginde, java hedefi isletilir. Bu hedef 'baglanmis' diger bir hedef var ise, onun da isletilmesi gerekir, ve ant bunu otomatik olarak yapacaktir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.