C#調用Java類

C#調用Java類

(2011-01-07 14:02:05)
  分類: Java學習

 

 1.

在Eclipse中新建名稱爲hello的java project,此工程僅包含一個文件hello.java,具體代碼以下:html

public class hello {java

 public String GetString(String str)throws Exception {
  try
  {
   return "您好!" + str;
  }
  catch(Exception ex)
  {
   return "發生錯誤";
  }
 }學習

}測試

 2.

將hello項目文件打成hello.jar,Eclipse提供這個功能。網站

 3.

到IKVM官方網站下載IKVM須要的組件  http://www.ikvm.net/ ,我當的版本是ikvmbin-0.45.4013。spa

解壓縮ikvmbin-0.45.4013.zip,爲了使用方便,將解壓縮後的文件和文件夾放至c:\ikvm\下。.net

 4. 將hello.jar放至c:\ikvm\下。使用ikvm將hello.jar包轉換爲hello.dll控件。方法:在Cmd中執行

c:\ikvm\bin\ikvmc -out:c:\ikvm\hello.dll c:\ikvm\hello.jarhtm

 5.

新建C#工程,添加IKVM的dll引用 和 hello.dll引用blog

bin\IKVM.OpenJDK.Core.dllip

bin\IKVM.Runtime.dll

bin\IKVM.Runtime.JNI.dll

hello.dll

說明:以上IKVM中的三個dll爲最小dll(由於我在hello.java中僅僅打印了一個字符串,沒有其餘複雜的代碼),若是你java類中使用的jdk的功能較多,則按須要引用bin下以IKVM開頭的其餘dll

 6.

測試,如下爲C#代碼

hello t = new hello();
string str = t.GetString();
MessageBox.Show(str); 

 7. 不是全部的Java類都能調用成功,這要看IKVM支持了jdk中的哪些功能,但簡單的絕對沒問題。
相關文章
相關標籤/搜索