C# 利用IKVM 调用JAVA 方法

一.环境配置

  1. javaVersion :”1.8.0_31”
  2. IKVM:ikvm-8.1.5717.0

IKVM下载地址:链接:https://pan.baidu.com/s/1sCt5j3C7jG_m8AlRYpLJwA 密码:d6mr
IKVM 如果版本过低 ,无法适用 jdk高版本,如:IKVM7.1无法使用jdk1.8的。
IKVM需要配置环境 :将IKVM.NET的bin文件夹的地址添加到环境变量。
计算机右键属性–高级系统设置–高级–环境变量–在系统变量中找到PATH–将bin文件夹的地址添加进去。

二.步骤

2.1) 新建C#项目,Nuget 引入IKVM。
C# 利用IKVM 调用JAVA 方法

2.2)编写main方法
C# 利用IKVM 调用JAVA 方法

2.3)新建JAVA 项目
C# 利用IKVM 调用JAVA 方法

2.4)新建JAVA类 Demo.myDemo.java
C# 利用IKVM 调用JAVA 方法

2.5)该案例中特意引入一个alibaba.fastjson,先对其转成dll
C# 利用IKVM 调用JAVA 方法

2.6)再利用IDEA16编译,将myDemo.java ->myDemo.class ,进入生成.class文件目录下,并利用命令行将myDemo.class 打包成jar文件。
C# 利用IKVM 调用JAVA 方法

C# 利用IKVM 调用JAVA 方法

2.7) 利用ikvmc 命令将jar 转换成dll,并引入alibaba.fastjson依赖。
C# 利用IKVM 调用JAVA 方法

2.8)此时报错发现无法编译myDemo
C# 利用IKVM 调用JAVA 方法

2.9)利用winRAR 打开myDemo.jar,创建文件夹,并把myDemo.class文件剪切到Demo文件夹下。
C# 利用IKVM 调用JAVA 方法
利用命令行查看jar 文件,必须如下所示。上面是注意剪切。
C# 利用IKVM 调用JAVA 方法

2.10) 此时再次执行2.7,成功,生成myDemo.dll
C# 利用IKVM 调用JAVA 方法

2.11) 在C# 项目引入两个myDemo.dll 与fastjson-1.1.41.dll ,运行代码,成功显示hello.

C# 利用IKVM 调用JAVA 方法
C# 利用IKVM 调用JAVA 方法

三.参考资料

http://www.cnblogs.com/kaoleba/p/5653414.html
https://sourceforge.net/p/ikvm/wiki/Ikvmc/#single-jar-file
https://blog.csdn.net/sparkstrike/article/details/61922307
https://*.com/questions/38243867/ikvmc-doesnt-find-main-in-netbeans-produced-jar
http://www.ikvm.net/

案例下载https://download.csdn.net/download/a748448660/10610374