jar包转dll文件,c#调用java方法,(IKVM使用方法)

前段时间碰到一个需求,要求公司的c#系统对接一个第三方服务,然而第三方服务并没有成熟的C#的集成方案,于是找到了IKVM这个工具,在此记录一下自己走过的坑

1、下载ikvm压缩包

ikvm下载地址
并配置。在系统环境变量Path配置ikvm绝对路径到bin目录。

2、编写java代码,然后打成jar包。

在编辑java代码的时候要明确记住用了哪些jar包的方法。

3、将.jar文件打包成.dll文件

打包方式:在jar所在的文件夹下shift+鼠标右键在此处打开doc控制台
如果你得java代码没有调用其他jar包的内容直接执行命令:ikvmc -target:library XXX.jar,这样就会生成一个同名的dll文件。
jar包转dll文件,c#调用java方法,(IKVM使用方法)

如果你的java代码调用的其他的jar包的内容需要先把调用的jar包转换成dll文件,然后在执行命令(-r:后面的文件即刚才生成的dll文件):

ikvmc -target:library XXX.jar -r:XXX.dll

4、c#调试

将IKVM/bin目录下的IKVM.OpenJDK.Core.dll、IKVM.Runtime.dll、IKVM.Runtime.JNI.dll连同生成的dll文件给c#调用。
至此问题解决。