c#调用jar包的方法步骤(非常详细)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c#调⽤jar包的⽅法步骤(⾮常详细)
前⾔
最近项⽬遇到⼀个问题,就是有⼀个需求是cs端数据需要加密(使⽤sm4的加密⽅法),后端接收需要解密,但是cs端是c#写的后端是java写的,两端的加密⽅式的结果都会有所不同,当然还是我们这帮菜逼对算法这块研究不深。
后⾯找了调⽤中间的c语⾔去弄还是没有搞好,最后找的了⼀种⽅法,就是把java代码打成jar包然后转换成dll,供cs端调⽤。
步骤如下
⼀、将已经编译后的java中Class⽂件进⾏打包;打包命令JAR
打包:可以使⽤命令也可以使⽤eclipse 和idea 这样的⼯具直接打包【源码会放在最后】
⼆、到IKVM官⽅⽹站下载IKVM需要的组件
⽹上有⼀⼤堆教程有很多没有提到jdk版本跟这个有关系,如图所⽰的⽀持1.8版本的,这个不向低版本兼容哦,如果找不到这个版本的ikvm可以私聊我。
三、设置路径解压ikvm-8.1.5717.0.zip,可以设置IKVM_HOME的路径到环境变量,也可以直接使⽤固定的路径配置进去,我这⾥是直接把完整的路径配置进去的
四、将java的jar包转换为.dll控件使⽤的命令:ikvmc -target:library xxx.jar 和 ikvmc -target:library -reference:需引⽤A.dll -reference:需引⽤B.dll 主的.jar
前者命令是把jar打成dll 后者是把jar打成dll的同时加⼊他需要外部引⼊的dll包(原jar包引⽤)
ps:我这边是把jar包都复制到ikvm的bin⽬录下,并且在bin的⽬录下使⽤的ikvmc命令,如果是使⽤idea引⼊的是把所有的lib 包放在⼀个⽬录下在modules引⼊的,只需要把主jar包打成⼀个dll就⾏了其他不必引⽤到cs⾥⾯去,elipse则是都需要打成dll 都引⼊。
【这⾥是看实际情况⽽⾔,最好是都打成dll引⼊】五、在C#项⽬中添加所需的控件前提需要下载:ikvm,不然会报错
引⽤打包好的dll
现在就可以使⽤了
总结
到此这篇关于c#调⽤jar包的⽂章就介绍到这了,更多相关c#调⽤jar包内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。