Pure Java – 95 – Development – Jar Files & Searching

Merhaba Arkadaslar,

Bu bolumde jar konusunu inceleyecegiz.

Java developer’lar jar dosyalarina yabanci degildir. Ihtiyacimiz olan siniflari projemize eklemek icin jar dosyalarini kullaniriz. En basitinden bir veritabanina baglanmamiz gerektiginde ornegin mysql icin com.mysql.jdbc_XXX.jar i projemize ekleriz , boylelikle bu jar icerisinde yer alan class dosyalarini projemizde kullanabiliriz.

JAR , Java Archive anlamina gelmektedir. Jar dosyalaricompress data’dir ve zip formati uzerine kurulmustur. Bir jar dosyasini winrar gibi bir programla extract edebiliriz.

Asagidaki dizin sekline uygun class dosyalarimiz olsun. Bunun icin ilgili .java uzantili dosyalari compile edip .class dosyasini olusturabiliriz. Ilgili dizinde ek olarak txt dosyasi yer almaktadir. Jar dosyalarinda sadece .class dosyasi olmak zorunda degildir.

package com.injavawetrust;
public class HelloJava {}
package com.util;
public class Utility{}
jarTest
|
|---src
   |
   |---com
      |
      | ---injavawetrust
      |   |
          |---HelloJava.class
      |
      | ---util
          |        
          | ---Utility.class
      |
      |---readMe.txt

command line da jar komutu yardimi ile jar dosyasi olusturabiliriz.

command line da ;

jar --help

jarTest/src dizininde ;

jar -cf myjar.jar com

komutu ile jar dosyamizi olusturabiliriz.

-c create a new archive / yeni bir jar dosyasi olusturmak icin kullanilir.
-f specify archive file name / jar dosyasina isim vermek icin kullanilir.
jarTest/src dizinimizde myjar.jar dosyamiz olustu.

myjar.jar dosyamizi winrar gibi bir programla extract edersek.

   myjar
     |
     ---com
        | 
        | ---injavawetrust
        |    | 
        |    |---HelloJava.class
        |
        | ---util
        |    | 
        |    | ---Utility.class
        |
        |---readMe.txt
        |
        |
        |----META-INF
             |
             |
             |---MANIFEST.MF

jar dosyamizin extract hali , jar olmadan oncekine benzemektedir. Ek olarak META-INF klasoru ve bu klasor altinda MANIFEST.MF dosyasi olustu. jar komutu otomatik olarak bu klasoru ve dosyayi olusturur.

jar dosyalarini classpath kullanarak aramak ayni class dosyalarini bulmak gibidir. classpath’e dizin bilgisi veriyorduk burada ise jar dosyamizin ismini veriyoruz.

UseJar.java dosyamizi olusturalim bu sinifimiz com.util.Utility sinifina ihtiyac duymaktadir.

import com.util.Utility;
public class UseJar extends Utility {
}

jarTest dizini altinda bu UseJar sinifimizi olusturalim.

javac -classpath src/myjar.jar UseJar.java

UseJar.java dosyamizi compile edebilmek icin ,classpath’te myjar.jar dosyamizi kullandik cunku ihtiyac duydugumuz com.util.Utility class dosyasi myjar.jar dosyasi icerisinde mevcuttur.

jarTest/src dizini altinda myjar.jar dosyamizla birlikte com klasoru de yer almaktadir.

jarTest dizini altinda classpath’e ilgili dizin bilgisini de verebiliriz;

javac -classpath src UseJar.java

Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *