26 Mart 2012 Pazartesi

Netbeans’de Java Class Library Projesine JAR Ekleme

Farklı bazı projelerde kullanmak üzere bir takım sınıfları içeren JAR dosyası oluşturmak için Java Class Library projesini Netbeans kullanıcılarının büyük kısmı kullanmıştır. Oluşturulan projenin içerisine herhangi başka bir kütüphane eklemek istediğimizde bir problem yaşamadan ilgili JAR dosyasını kullanabiliyoruz. Fakat oluşturduğumuz projeyi build edip sonrasında oluşturulan JAR dosyasını başka bir projede kullanmak istersek bu sefer o proje içerisine eklediğimiz kütüphaneye ulaşamayız. Ulaşmaya çalışırsak ClassNotFoundException almamız ise muhtemel.

Buradaki temel problem aslında şu. Bildiğiniz gibi JAR dosyaları, içerisinde derlenmiş class dosyaları taşır. Bu nedenle bir projede rahatlıkla kullanılabilir. Fakat bir class library projesine bu JAR dosyasını koyarsak ve sonrasında projeyi build edersek JAVA class dosyalarını yeniden derlemeyecektir. Bu da bizim yeni üretilen JAR dosyamızın içerisinde, projeye eklediğimiz diğer kütüphanelerin olmaması anlamına gelecektir.

Sözü fazla uzatmadan konuya giriyorum. Yapmamız gerekenler şu şekilde. Projemizi tamamladıktan sonra build etmeden hemen öncebuild.xml dosyasının içerisinde bir değişiklik yapacağız. Böylece istediğimiz JAR dosyalarını içeren bir JAR dosyası elde edeceğiz. Örneğin projemize gson-2.1.jar‘ı ekleyelim. Bunun için build.xml dosyamızda aşağıdaki gibi bir değişiklik yapmalıyız. İlgili alanları kendi dosya isimleriniz ile değiştirebilirsiniz.

<target name="SON-JAR">
   <jar jarfile="dist/SON_DOSYA.jar">
      <zipfileset src="${dist.jar}"excludes="META-INF/*"/>
      <zipfileset src="lib/gson-2.1.jar"excludes="META-INF/*"/>
      <manifest>
         <attribute name="Main-Class"value="com.test.maktas.Main"/>
      </manifest>
   </jar>
</target>

Bu işlemden sonra projemizi build ettiğimizde çıkacak JAR dosyasında ilgili kütüphane dosyalarının da olduğunu göreceğiz.

( java, netbeans, jar, library, ClassNotFoundException, referring, java class library, jar inside jar )

1 yorum:

  1. Top 5 highest paid sports careers need to|if you wish to} succeed there too. First, you’ll need to discover a good on-line casino that offers free slot games. Once you’ve found a casino, find a way to|you probably 코인카지노 can} then join an account and make a deposit.

    YanıtlaSil