IKVM:java代碼c#調用
在工作中遇到對接java接口,涉及到java加密或簽名問題,.net無法實。就將java代碼編輯為dll給.net調用
註:這裏只做簡單java代碼處理,不涉及到復雜的java包
java文件處理:
第一步:簡單java代碼
package com.zht;//c#命名空間 public class Testaaa { public String returnString() { return "Hello, zht!"; } }
第二步:java代碼編譯為class文件
1:在開始菜單,搜索框中輸入“cmd”,進入黑口;
2:切換到java文件的存放路徑;
3:輸入"javac 文件名.java",即可將java文件編譯為class文件。
備註:前提是下載jdk,並配置環境變量。
第三步:將class文件打包
1:在開始菜單,搜索框中輸入“cmd”,進入黑口;
2:切換到java文件的存放路徑;
3:輸入"jar cvf 文件名.jar 目錄名",即可將目錄轉換為.jar文件。
IKVM處理
第一步:到IKVM官方網站下載IKVM需要的組件 http://www.ikvm.net/
ikvmbin-7.2.4630.5.zip(我下載最新版的)
第二步:設置IKVM環境變量
解壓ikvm-0.42.0.3.zip,並將%IKVM_HOME%/bin添加到path中。此處的%IKVM_HOME%是指解壓後ikvm的主目錄。
第三步:將java的jar包轉換為.dll控件
使用的命令:ikvmc -out:IKVM.dll test.jar
其中IKVM.dll為將要生成的.dll控件文件名;test.jar為之前打包好的jar包文件。
第四步:在C#項目中添加所需的控件
1、新建一個C#.NET項目,首先添加一下必須的DLLs
%IKVM_HOME%/bin/IKVM.OpenJDK.Core.dll
%IKVM_HOME%/bin/IKVM.Runtime.dll
%IKVM_HOME%/bin/IKVM.Runtime.JNI.dll
2、添加已生成的.dll文件
將之前生成好的.dll文件加載到C#項目中
第五步:測試
在C#項目中使用java類,其方法同java。但對包的引用使用C#的語法using
IKVM:java代碼c#調用