c#調(diào)用jar包的方法步驟(非常詳細)
前言
最近項目遇到一個問題,就是有一個需求是cs端數(shù)據(jù)需要加密(使用sm4的加密方法),后端接收需要解密,但是cs端是c#寫的 后端是java寫的,兩端的加密方式 的結(jié)果都會有所不同,當然還是我們這幫菜對算法這塊研究不深。后面找了調(diào)用中間的c語言去弄 還是沒有搞好,最后找的了一種方法,就是把java代碼打成jar包 然后轉(zhuǎn)換成dll,供cs端調(diào)用。
步驟如下
一、將已經(jīng)編譯后的java中Class文件進行打包;打包命令JAR
打包:可以使用命令 也可以使用eclipse 和idea 這樣的工具直接打包 【源碼會放在最后】
二、到IKVM官方網(wǎng)站下載IKVM需要的組件
網(wǎng)上有一大堆教程 有很多沒有提到j(luò)dk版本跟這個有關(guān)系,如圖所示的支持1.8版本的,這個不向低版本兼容哦,如果找不到這個版本的ikvm可以私聊我。
三、設(shè)置路徑 解壓ikvm-8.1.5717.0.zip,可以設(shè)置IKVM_HOME的路徑到環(huán)境變量,也可以直接使用固定的路徑配置進去,我這里是 直接把完整的路徑配置進去的
四、將java的jar包轉(zhuǎn)換為.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
現(xiàn)在就可以使用了
總結(jié)
到此這篇關(guān)于c#調(diào)用jar包的文章就介紹到這了,更多相關(guān)c#調(diào)用jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WinForm實現(xiàn)狀態(tài)欄跑馬燈效果的方法示例
這篇文章主要介紹了WinForm實現(xiàn)狀態(tài)欄跑馬燈效果的方法,涉及WinForm控件結(jié)合時間函數(shù)動態(tài)操作元素屬性的相關(guān)技巧,需要的朋友可以參考下2017-07-07Winform ComboBox如何獨立繪制下拉選項的字體顏色
這篇文章主要介紹了Winform ComboBox如何獨立繪制下拉選項的字體顏色,幫助大家更好的理解和使用c# winform,感興趣的朋友可以了解下2020-11-11