1. 程式人生 > >IKVM:java代碼c#調用

IKVM:java代碼c#調用

col path time 加密 clas 主目錄 str 組件 文件加載

在工作中遇到對接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#調用