C#编程,.NTE调用java类、jar包方法

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/85832637

基本思路:

用C#实现调用Java编写的类中的方法;重点是将Java编写的程序打包成Jar,然后使用开源工具IKVM将其转化成DLL控件,在.NET环境下调用。

一、使用IKVM.NET组件

首先到IKVM官网(http://www.ikvm.net)下载组件,下载地址: https://sourceforge.net/projects/ikvm/files/ikvm/

(有的博客说需要下载ikvmbin-0.42.0.3.zip或者ikvmbin-0.46.0.1.zip,这个主要取决你的jar包用的jdk是哪个版本,我的是jdk1.7,所以就下载的ikvmbin-7.2.4630.5.zip) 

二、IKVM添加到环境变量PATH中 

下载 ikvmbin-7.2.4630.5 包,之后将其解压,并在【环境变量】->【系统变量】中设置path路径,

路径为解压的目录

环境变量里添加IKVM_HOME变量

 

三、使用ikvmc命令将Jar包转成dll

在IKVM的文件夹下,按着键盘shift键,右击鼠标,选择  在此处打开命令窗口选项。

在弹出的CMD窗口中使用以下命令:

使用的命令:ikvmc -out:IKVM.dll test.jar

其中IKVM.dll为将要生成的.dll控件文件名;test.jar为之前打包好的jar包文件。

四、在VS中使用jar转换后的dll库

引用IKVM创建的dll库(除了自己创建的还需要引用另外三个IKVM自身的dll库,在解压目录的bin文件下) 

自己生成的.dll 
IKVM.OpenJDK.Core.dll 
IKVM.Runtime.dll 
IKVM.Runtime.JNI.dll

五、补充说明:

1.如果你的java类比较复杂,需要将所有.dll库文件添加到引用才不会报错

2.可以不设置环境变量,直接在IKVM的bin目录,将jar复制过来,下按住shift右击,在此处打开命令行。

https://blog.csdn.net/qq_37798011/article/details/78190104?locationNum=1&fps=1

https://www.cnblogs.com/hxh88/p/5904909.html

https://blog.csdn.net/yjj453458624/article/details/75736021?utm_source=blogxgwz9

https://www.cnblogs.com/Jack-Blog/p/4710848.html

猜你喜欢

转载自blog.csdn.net/qq_43307934/article/details/85832637