因為工作需求,要求用C#直接調用Java方法,下面呢是操作過程以及一些理解,如果有什么理解不對的,歡迎大家指出!
具體操作:
一、將Java寫好的Demo以jar包形式導出
1 package demo; 2 3 public class Demo { 4 5 public static String result(){ 6 String str = "測試成功"; 7 return str; 8 } 9 }
導出jar:在項目上右擊選擇Export -- JAR file -- 選擇導出路徑 -- Finish
二、安裝IKVM
IKVM.NET是一個針對Mono和微軟.net框架的java實現,其設計目的是在.NET平台上運行java程序。它包含了以下的組件:用.NET實現的java虛擬機,java類庫的.NET實現。致力於在java和.NET之間交互的工具。
下載地址:http://www.ikvm.net/
配置環境變量:
計算機右鍵屬性--高級系統設置--高級--環境變量--在系統變量中找到PATH--將BIN文件夾的地址添加進去
文件說明:
BIN文件夾中的數據,用於JAR包轉換和基礎DLL。其中IKVM.OpenJDK.Core.dll,IKVM.Runtime.dll,IKVM.Runtime.JNI.dll和IKVM.OpenJDK.ClassLibrary.dll為公共DLL,所有轉換程序都需引用
IKVM.OpenJDK.ClassLibrary.dll用於C#程序接入。
三、將需要的jar包轉為dll形式
在DOS命令框中輸入:

無依賴jar:ikvmc -out:dll文件名 jar包所在地址
有依賴jar:ikvmc -out:dll文件名 jar包所在地址 -r:依賴的dll
PS:
1.如果有依賴的jar包,需要先把依賴的jar轉為dll
2.生成的dll文件默認存放在C:\Users\Administrator下
四、創建C#項目並導入所需dll文件
①打開VS創建C#項目

②導入所需dll文件:在引用右擊 -- 添加引用 -- 選擇dll文件所在路徑 -- 確定

③調用方法:包名.類名.方法名

④運行

