C#调用Java Jar包

最近在工程开发中小编遇到一个问题,这个工程的开发语言用的C#(你没有看错,竟然不是Java

不服私信啊,小编就是喜欢Java)

问题是:业务上需要调用一些加密、解密、甚至硬件设备的接口,但是接口的所有实现方式是其它平台给的Java的Jar包,这可如何是好,通过查阅资料找到了一个解决方案(C#调用Jar包)

文末有惊喜哦!!


解决方案:

  1. 将Jar包转换成dll

  2. 安装ikvm包

  3. 引入转换好的dll

  4. 可以调用

第一步:

  • 需要用到一个工具,下载地址:https://share.weiyun.com/N3mhQTeo

  • 打开cmd窗口,然后cd到"ikvm.exe"所在文件目录中,然后输入以下命令:

命令分两种:

// 第一种:ikvmc -target:library xxx.jar// 第二种ikvmc -target:library -reference:A.dll -reference:B.dll C.jar

解释:

  • 第一种是直接生成dll,前提是这个jar包不依赖别的引用。

  • 第二种是我们的jar包依赖于别的jar包,比如说:C.jar依赖于B.jar和A.jar,那我们就要先生成B.dll和A.dll,然后再执行命令

第二步:

visual studio的nuget中下载安装ikvm,作者是jeroen frijters

第三步:

将转换好的dll引入项目

第四步:

using dll名字 ,直接调用


惊喜来喽 ····· 小飞棍来喽 ·····

最后的解决方案是开发了一个Java中转服务,Java服务端访问外部平台,C#工程通过访问Java服务暴露出的Restful接口间接访问平台。(惊不惊喜,意不意外)

所以上述的解决方案你要自己去体会,小编没有进行验证哦!!

来个关注?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值