C#调用Java代码


      最近项目中,与对方公司调试接口。对方公司采用的Java,我们公司采用C#。Java提供的加解密算法在C#找相同的实现有一定难度,而且时间紧迫,所有就去找有没有C#调用Java的例子,没想到果然有。

  Java部分:准备开发工具 intellij idea,新建一个Java Project,SDK 选择1.8. 项目建设成功后,选择src文件夹,新建一个Package,后面会用到。

填写对应代码,如果有些包名没找到, 直接Google:包名 download 即可下载。

 最后生成Build一下,Java程序就结束了。

然后下载IKVM工具,解压,把上面Build的AESUtils.class文件以及程序依赖的第三方包放到IKVM运行目录下。

 先将第三方包生成dll(或exe):ikvmc xx.jar

 然后生成自己项目的Jar包:jar cf xx.jar xx.class

 把生成的jar包重命名为zip文件,然后解压缩,然后打开,新建文件夹,名字为包名,将class文件剪切到包中。

然后当前压缩为zip,重命名为jar文件,复制到ikvm运行目录。

此时ikvm目录下有这几个文件

 执行生成最终dll操作:ikvmc xx.jar -r:commons-lang3-3.12.dll -r:commons-codec-1.15.exe -out:xx.dll

 此时会生成我们需要的dll

此时用viusal studio 新建项目进行引用验证。

首先添加nuget包

 然后添加上面三个dll(或exe)的引用

 调用java代码验证