Tek .Jar Dosyası Olarak Dağıtım Hazırlamak

Referans jar’lar ve native kütüphaneleri (.so, .dll vs.) oluşturduğunuz .JAR paketine nasıl dahil ediyorsunuz?

Normalde jar referanslar (netbeans,ant,eclipse bunu yapıyor) /lib klasörü altına kopyalanır. Native’ler için hazır gelen bir seçenek yok ama:

<property name="natives.dir" value="lib/native/win32-x86/"/>
<target name="win-native" depends="jar"
<copy todir="${dist.jar.dir}">
<fileset dir="${natives.dir}"  includes="*.dll"/>
</copy>
</target>
gibi gibi ant target’leri yazılabilir. Ama sonuçta yine de,
| jarname.jar
| /LIBS
| | 1.jar
| | 2.jar
| | 3.jar
| 4.dll
| 5.dll
| log4j.properties
şeklinde .jar paketimiz dışında oluşmuş bir klasör yapımız olur. Aranızda hiç yarım saat bir programı çalıştırmaya uğraşan, sonuçta sorunun yanlış tanımlanan Classpath (JVM’ye -D switch’i gerekliymiş…) olduğunu bulan oldu mu (Java sucks-1)? Tek bir paket oluşturmayı bu nedenle istiyorum.

Sorun Java Classloader’ın .jar paketleri içerisindeki .jar’lara nasıl ulaşacağını bilmemesi. Classpath’daki referanslar mutlaka .Jar dosyası dışında olmalı (Java sucks-2). Aynı şekilde runtime’da native lib’ler yüklenirken jar paketi içine ulaşamıyoruz(Java sucks-3).

Bunları bu kadar yazdım belki başka çözümler vardır da haber verirsiniz, benim bulduğum çok da mantıklı olmayabilir: One-Jar, Netbeans Wiki - PackagingADistributableJavaApp – OneJar. Program çalıştırılmadan önce referans kütüphanelerini otomatik olarak extract ediyor. Sonrasında siliyor.

Bazı notlar:
“Adding the OneJar Manifest” adımında “Class-Path:” için bütün gerekli .jar’ları listelemenize gerek yok, en azından Netbeans kullanıyorsanız ve /lib altında bulunuyorlarsa sorun olmuyor.

Klasör isimlerini değiştirmeyi unutmayın, ne bileyim başka söyleyecek bir şey aklıma gelmedi.

Complete Tales &amp; Poems by Edgar Allan Poe

Media_httplh4ggphtcom_nodyv

Yukarıda gördüğünüz güzide eseri betterworldbooks’dan almıştım. Neredeyse 170 yıl önce yazılmış detektif, gizem, korku hikayeleri… Konuşulan, yazılan dilin ve insanların davranışlarının bugünkünden farklı olması ilgi çekici. Eski hikayeler bu nedenle beni daha fazla etkiliyor. Ama ‘eski’ hikayelerin de bir sınırı var, ilgi çekici dediğim kültür farklılıkları aşırıya kaçtığında (antik yunan?) tam ters etki bırakıyor. Yani 1800’ler iyidir, milattan öncesi kötü…
Neyse bu toplama hikaye ve şiirler kitabının tamamından bahsedemeyeceğimi göz önünde bulundurursak konumuzu biraz daraltalım (zaten hikayeleri türlere,konularına göre gruplayıp okuyorum), dedektiflik hikayeleri. Edgar Allan Poe’nun dedektiflik-polisiye türünü yarattığı bilinir. 1841-1844 yılları arasında yazılmış C. Auguste Dupin’in etrafında gelişen üç hikaye var: The Murders in the Rue Morgue, The Mystery of Marie Roget,  The Purloined Letter.
The Murders in the Rue Morgue, Dupin’in suçsuz olduğunu düşündüğü çifte cinayetten tutuklanan bir şüpheliyi beraat ettirmeye çalışmasını ve aynı zamanda tabii ki cinayetleri çözmesini anlatıyor. The Mystery of Marie Roget, genç bir kızın cinayeti hakkında. Dupin olayı çözmek için gereken bilgileri gazete makalelerinden alıyor. The Purloined Letter da ise çalınan bir mektubun izi sürülüyor. Paris polisi Monsieur G-. yüksek mevkili birinin sonunu getirebilecek mektubu bulmak için Dupin’den yardım ister. Bu son hikaye de mizahi unsurlar da dikkat çekiyor.
Görülebildiği gibi Poe her zaman insan üstü olaylı, karanlık, korkunç hikayeler yazmamış (Ne zaman konusu açılsa sohbetlerde “ayy evet çok ürkünç çok seviyorum onu” diyen insanlar, tiksiniyorum sizden). Philip K. Dick ile benzerlikler olduğunu düşünüyorum hatta. Bol icatlı, ayrıntılı, tam gaz bilimkurgu eserlerinden bahsetmiyorum, psikolojik bilimkurgu diyebileceğimiz kısa hikayleri (örnek: Rautavaara's Case). Mesmeric Revelation veya The Facts in the Case of M.Valdemar’ı PKD adı altında okusam çok da garip gelmezdi. Konuyu daraltalım demiştik, burada keselim artık.
Not: Merak etmeyin “Şarkı sözlerini yazarken nelerden esinleniyorsunuz?” sorularına “Poe şiirleri ve hikayeleri. Bunlar benim üzerimde çok büyük etki bırakmıştır. Götik edebiyat deyince akla o gelir. Aklımda iki yazar ismi aynı anda tutamıyorum, Poe fazla bile geliyor” gibi gibi cevap veren gotik rockçılardan değilim. Bir dahaki kitap eleştirimiz bütün sevenler ve sevilenler için Isaac Asimov’dan gelsin. Amin.
Not-2: Birisi söz verdiği gibi PKD kitaplarını getirirse Poe ile aralarındaki benzerlik örneklerini arttırırım bir ara. Ya da arttırmam, zaten bu yazının tek amacı  aradan bir yerden PKD’den bahsetmekti.