JAR Nedir? Nasıl Oluşturulur? Nasıl Çalıştırılır?
Yazar: Dr. Bülent Çobanoğlu
JAR(Java ARchive), birden fazla (yüzlerce, binlerce) sınıf içerebilen sıkıştırılmış dosyadır. JAR dosyasına JRE çok hızlı bir şekilde erişebilir. Esasen tüm Java API’si ‘rt.java’ isimli tek bir JAR dosyasında yer almaktadır ki bu dosya 12 binden fazla sınıf içermektedir.
JAR dosyaları JDK kurulumu içerisinde yer alan ‘bin’ klasörü içerisindeki ‘jar utility’ ile oluşturulabilir. JAR dosyası, ZIP, RAR gibi bir sıkıştırılmış dosyadır ve Winzip, WinRAR, PKZIP gibi programlar ile açılabilir, içeriği görülebilir.
Komut isteminden JAR dosyası oluşturma
Windows komut istemi (cmd) veya Linux terminalinden (Ctrl+T) bir JAR dosyası oluşturmak için aşağıdaki komut yapısı kullanılır;
jar komut dosyaadi.jar [manifest-file] class dosyaları(*.class)
Örneğin D:\Test\ klasörü altındaki tüm “.class” uzantılı dosyaları, tek bir ‘bulend.jar’ isimli dosyaya dönüştürmek için aşağıdaki komut satırlarından herhangi biri yazılabilir;
a) jar — create — verbose — file bulend.jar D:\Test\*.class
b) jar –c –v -f bulend.jar D:\Test\*.class
c) jar cvf bulend.jar D:\Test\*.class
Bir JAR dosyasının doğru bir şekilde oluşup/oluşmadığını test etmek için ‘tf’ komutu kullanılır. Örneğin;
jar tf bulend.jar
Bu komut satırı ‘.jar’ uzantılı dosyanın içeriğini görüntüler. Örneğin;
META-INF/
META-INF/MANIFEST.MF
D:\Test\bulend.class
Bir manifest dosyası, arşiv dosyaları hakkında bilgi içeren basit bir metin dosyasıdır.
Eclipse ortamında doğrudan çalıştırılabilir(Runnable) JAR dosyası oluşturma
Eclipse’te yazdığımız herhangi bir java dosyasının veya projesinin üstüne gelip sağ click yaptığımızda;
Java dosyası veya proje klasörü üzerinde iken sağ click → Export → Java altında ‘Runnable JAR file’ → Next seçilir. Gelen menüde Launch configuration’dan main/ana metot seçilir. Export destination’dan JAR dosyasına isim verilir ve kaydetme yeri seçilir ve ‘Finish’ ile işlem sonlandırılır.
Oluşturulan ‘bulend.jar’ dosyasını komut isteminden çalıştırmak için aşağıdaki tek satırlık kodu yazmak yeterlidir;
java -jar bulend.jar
Kaynakça: Bülent Çobanoğlu, Java ile Programlama ve Veri Yapıları, Pusula Yayıncılık