java2net / Jar dosyayı c# projede kullanmak / IKVM

Farklı sebeplerden dolayı jar projeyi, c# projenizde yahut tam tersi olan c# projenizi java projeniz içerisinde kullanmak isteyebilirsiniz. En basit yöntemiyle jar projeyi c#’ta yeni process başlatarak kullanabilirsiniz. Fakat eğer kullanmak istediğiniz java projesi uygunsa, projeyi dll yada exe haline getirip kullanmak daha kolay ve yönetilebilir olacaktır.

IKVM  – java2net yada net2java için harika bir dönüştürücü.

Örnek olarak bir java projemiz olduğunu varsayalım, projenin çıktısı projemiz.jar olsun. ve projemizinde kütüphane bağımlılıkları olduğunu varsayalım, bunlarda “lib” klasörünün içerisinde abc.jar, cde.jar olsunlar. Varsaydığımız projemiz.jar dosyasını ikvm’nin binary versiyonu indirip (http://weblog.ikvm.net/),  java jdk yüklü makinanızda herhangi bir yere çıkartın, ikvm

 

ardından, jdk yüklü cihazınızda command promt açıp; “cd  ikvm-8.0.5449.1\bin” komutuyla ikvm path’ine geçiniz ve mecvut komut satırı artık ikvm çalıştırmaya hazır, bunu denemek için sadece ikvm yazıp, ikvm versiyonunu öğrenebilirsiniz.

Jar dosyasımızı dll yapmak için, projemiz.jar dosyasını ve bağımlılığı olan lib klasörünü ikvm bin klasörünün içerisine kopyalıyoruz. sonra dönüştürmek için gerekli komutları veriyoruz.

ikvmc -out:projemiz.dll -recurse:lib\*.jar projemiz.jar

-out : çıktımızın ismi,
-resource : bağımlılıklar, örnekte lib klasörünün altında ki tüm .jar dosyalarını eklemesini belirttim.

örnekte oluşturulacak .dll dosyasını release modda çıkaracaktır, eğer debug yapabilmek istersek;

ikvmc -debug -out:projemiz.dll -recurse:lib\*.jar projemiz.jar

şeklinde belirtmemiz yeterli olacaktır.

Oluşturduğumuz .dll yada exe çıktısını ise projemize referans olarak ekleyebilir ve ilgili nuget paketini yükleyerek kolayca kullanabiliriz. Nuget paketi şart değil, gerekli olan ikvm dll dosyalarını sizde ekleyebilirsiniz fakat nuget daha kolay olacaktır.

Ikvm nuget paketleri : http://www.nuget.org/packages/IKVM/

Yararlı olması dileğiyle.

Tekele karşı verilen savaş

Biz bilgisayar kullanıcıları bir çok program kullanıyoruz ve windows ortamında kullandıklarımızın çoğu hem ücretli, hemde verilen paranın karşılığını hak etmeyecek cinste yavan programlar. Ben her sürümünü merakla takip edip denediğim Pardus işletim sisteminin son kararlı sürümü olan 2008.2 yi kullanmaya başladıktan sonra iyice açık kaynak kod dostu olmuş bir haldeyim 🙂

Hiç linux sürümleri kullanmamış bireylerce linux dağıtımlarının algısı çok yanlış bir kanı üzerine yoğunlaşmış durumda, donanım ve yazılım destek sorunları, görsellik gibi büyük önyargılar mevcut. Ulusal işletim sistemimiz ve özelliklede Ubuntu bu kanıyı kırmakta oldukça ciddi adımlar atıyorlar, örneğin ubuntu şu sloganla karşımıza çıkıyor; “bunu insanlar kullanıcak”. Pardus ise zaten bir alternatif olmayı amaçlayan ulusal proje olarak karşımızda. Özellikle Kde3.5 ve üzeri desteği bulunan dağıtımlar diğer işletim sistemlerine çok ciddi rakip olmaya başladılar, birde insanın içinde özgürlük hissi azda olsa var ise, Kde3.5 ve üzeri kullandıktan bu özgürlük hissi çok kolay gün yüzüne çıkabiliyor.

Bugün biz linux kullanıcıları windows ortamında olan programların çoğuna yada emsaline sahibiz, bunun için google’da küçük aramalar sonucunda devasal kaynaklara ulaşmanız mümkün. Halihazırda microsoft office uygulamasının en büyük rakibininde OpenOffice olduğunuda hatırlatayım, linux için GPL lisanlı ile kar amacı gütmeden geliştirilen bir yazılımın yüzlerce dolarlık benzerinden artıları olabileceğini göstermesi çok önemli bir ayrıntı. Son olarak programcılar ve adayları için Linux ortamında nasıl yazılım geliştirceğim sorusunu soranlar’a ilgili linkteki e-dergi’yi dikkatlice okumalarını ve faydalanmalarını istiyorum. Buyrun e-dergi

Pardus ve linux dağıtımlarına vereceğiniz destekten dolayı şimdiden teşekkürler.