在.NET中调用Java的类

.NET不能直接调用Java的类,但IKVM.NET解决了这个问题。

IKVM.NET提供了两种方式调用java的类:

①把生成的jar包放置在程序根目录,然后通过创建URL实例的方式去调用类中的方法

②把生成的jar转换为dll,然后在程序中引用转化后的dll,之后就可以像调用c#类方法一样的方式来使用。官网说明文档

这里主要对第②种方式操作说明,步骤如下:

1、IKVM.NET官网上去下载程序包。地址:http://www.ikvm.net/download.html

我下载的版本为7.2.4630.5,文件包为:ikvmbin-7.2.4630.5.zip

2、解压包ikvmbin-7.2.4630.5.zip,然后打开cmd,通过cd定位到解压后的bin目录:~\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin

将需要转化为dll的jar包拷贝到~\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin目录下

执行ikvmc命令,将jar包转化为dll程序集。命令语句如下:

ikvmc -target:library EncryptUtil.jar

其中EncryptUtil.jar 为待转换为dll的jar包

 

出现 note IKVMC0002: Output file is " EncryptUtil.dll" 代表转换成功。可以在~\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin目录找到转换后新生成的文件EncryptUtil.dll

3、在.NET程序中引用生成的EncryptUtil.dll文件和~\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin目录下的IKVM.OpenJDK.Core.dll文件,然后就可以像使用C#类一样的方式来使用EncryptUtil类了

Console.Write(EncryptUtil.base64Decoder("测试"));

调用EncryptUtil的静态方法base64Decoder。

 补充说明:所要转为为dll的jar包,应该包含完整的依赖引用。

posted on 2018-04-19 22:28  儿时精神  阅读(1711)  评论(0编辑  收藏  举报

导航