在C#中调用Java生成的jar包文件的方法

将.jar档转成.dll

这里会使用到IKVM.NET。

IKVM.NET是让.NET C#代码可以调用Java类库的一种实现方式。

由于官网已无法下载

所以这边提供我手上从其他位置下载过的程序,可以提供2种版本:

ikvmbin-8.1.5717.0.zip此版本支持JDK 1.8的版本。

ikvmbin-7.2.4630.5.zip此版本支持JDK 1.7的版本。

百度网盘下载

你可以依照你使用的JDK版本来下载对应的程序。

以下的示范是使用ikvmbin-8.1.5717.0这个版本的程序。

下载解压缩后放在C:\Temp\ikvm-8.1.5717.0。(可以自行决定位置,只要指令指对路径即可。)

接着把对应jar文件如:JavaLibraryTest.jar放到bin目录下,

 

然后在cmd输入以下指令:

C:\Temp\ikvm-8.1.5717.0\bin

ikvmc -target:library JavaLibraryTest.jar

 

执行后会在bin目录下多一个JavaLibraryTest.dll,这就是要给.NET引用的dll

 

 

在执行.jar转.dll的过程中,可能会出现很多的错误,通常都是因为参照来源的问题,在java如果引用过多的library,就会有很多的warning出现,IKVM会试着找各种对应的library,但也会有找不到的问题,当找不到的话,实际上引用.dll就容易发生错误。

 

C#.NET引用Java类

NuGet上搜寻”IKVM”,这里要安装IKVM的版本,选择版本要跟刚刚把.jar转.dll的版本相同,我示范用的是ikvm-8.1.5717.0,所以在NuGet里面也要选8.1.5717版本安装产。

 

 

把刚刚用.jar转好的JavaLibraryTest.dll,复制到项目的目录底下。

然后在项目上添加引用就可以正常使用了

posted on   power_yu  阅读(1105)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示