Java調用C# dll jacob

Jacob了,我試成功的一個,官網:http://danadler.com/jacob/。

思路就是:c#註冊一下  java調用!

步驟如下:
1,在官網上把需要的包下下來,其文件目錄如下:

2.在開發環境中引入jacob.jar (解壓放置於jdk_home/jre/lib/ext目錄下);

拷貝jacob-1.19-x86.dll文件到 C:\Windows\System32目錄,如果是Web應用的話還需要拷貝到jdk1. 8\bin目錄(jdk安裝目錄下的bin目錄)

一般我兩個這玩意都拷進去 省事

3.生成簽名,一般有支持註冊dll命令的 用vs自帶就行,cmd不支持,敲入如下命令生成強命名

key:sn -k MyKeyFire.snk

其中MyKeyFire是名字,可以自己隨便取。注意生成顯示的路徑,拷貝出來

4.c#寫類庫行代碼

右擊項目名,選擇屬性:
1)應用程序–>程序集信息,勾選使程序集COM可見
2)生成–>勾選爲COM互操作註冊
3)簽名–>勾選爲程序集簽名,選擇剛剛生成的強簽名文件

編譯程序,在debug目錄下會生成 TestCom.dll 和TestCom.tlb

 

5.回到Visual 中自帶命令工具,類似cmd的,進入Debug目錄,運行註冊命令:
regasm TestCom.DLL /tlb:TestCom.tlb
gacutil -i TestCom.DLL (執行這個命令需要TestCom.DLL 具有強名稱)

(注意 存在cmd命令中  進入不了bin文件目錄,造成無法定位  更無法註冊)

說明有問題,重新做個新項目  一般是能cd的

6.Java程序
新建一個java項目,將jacob.jar包add build path,
main程序如下:

記住 也有報錯 類似這樣的

一般參數沒寫錯的話   是因爲vs編譯  CPU不能選擇任何cpu  我選了x86 重新編譯

注意事項:

1)、dotnetCom = new ActiveXComponent("TestCom.HelloWorld.");注意正確映射GUID,否則報錯找不到映射類,解決方式:在註冊表中查看相應類名

例如:運行->regedit-> HKEY_CLASSES_ROOT-> TestCom.HelloWorld

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章