C# 利用IKVM 调用JAVA 方法
一.环境配置
- javaVersion :”1.8.0_31”
- 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。
2.2)编写main方法
2.3)新建JAVA 项目
2.4)新建JAVA类 Demo.myDemo.java
2.5)该案例中特意引入一个alibaba.fastjson,先对其转成dll
2.6)再利用IDEA16编译,将myDemo.java ->myDemo.class ,进入生成.class文件目录下,并利用命令行将myDemo.class 打包成jar文件。
2.7) 利用ikvmc 命令将jar 转换成dll,并引入alibaba.fastjson依赖。
2.8)此时报错发现无法编译myDemo
2.9)利用winRAR 打开myDemo.jar,创建文件夹,并把myDemo.class文件剪切到Demo文件夹下。
利用命令行查看jar 文件,必须如下所示。上面是注意剪切。
2.10) 此时再次执行2.7,成功,生成myDemo.dll
2.11) 在C# 项目引入两个myDemo.dll 与fastjson-1.1.41.dll ,运行代码,成功显示hello.
三.参考资料
http://www.cnblogs.com/kaoleba/p/5653414.html
https://sourceforge.net/p/ikvm/wiki/Ikvmc/#single-jar-file
https://blog.****.net/sparkstrike/article/details/61922307
https://stackoverflow.com/questions/38243867/ikvmc-doesnt-find-main-in-netbeans-produced-jar
http://www.ikvm.net/