C#呼叫Java程式碼
阿新 • • 發佈:2022-01-05
最近專案中,與對方公司除錯介面。對方公司採用的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程式碼驗證