.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包,应该包含完整的依赖引用。
Original: https://www.cnblogs.com/senyier/p/8886652.html
Author: 儿时精神
Title: 在.NET中调用Java的类
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/539600/
转载文章受原作者版权保护。转载请注明原作者出处!