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.