使用IKVM實現C#調用jar包


背景:

通過項目中不會有使用C#調用Java Jar包的場景,因為很多遇到這種情況都是做服務化,使用遠程調用的方式解決服務異構,但是我們遇到了一個特殊場景:

加解密,算法已經用java封裝好了,而且這個加解密是放在客戶端上,不想服務化,所以綜上,我們考慮了引入IKVM

 

步驟:

1.下載IKVM,版本號一定選ikvm-8.1.5717.0,其他版本我也試了,發現報錯

我本機的電腦是Windows 10 專業版 19042.1526,下載后解壓,將bin目錄配置在電腦系統環境變量Path里面即可

 

2.將jar包放在bin目錄下,然后在bin目錄下使用cmd命令,輸入命令:ikvmc -target:library 【xxxxx】.jar

 

3.一般不會報錯,頂多會輸出一些warning,這個不用管

 

4.創建C#項目,將第三步生成的dll放進去引用,然后引入ikwm nuget包,然后在項目中使用jar的方法即可

 

補充:使用net fx可以使用上面的步驟,但是如果使用netcore呢?根據網上的教程:

第一:ikvm的服務需要從github上選擇ikvm-bin-net_core_compat分支,然后進入到bin目錄下cmd一下(保證jar包也在該目錄下)

第二:生成的dll引入到項目中,然后在項目的proj文件中增加<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" />


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM