C#和Java交互整合

問題來了:

1、C#和Java如何整合?

2、爲什麼C#(.Net)要和Java整合?

3、Java和C#整合時,Java主要扮演什麼角色?C#扮演什麼角色?

答案一一揭曉:

1、C#和Java整合大致有4條路可以走。

 

  1.1 把Java包轉換爲DLL或者EXE後註冊爲com組件,之後調用;

  1.2 使用web service;(http://www.codeproject.com/Articles/32313/How-to-invoke-Java-web-service-in-ASP-net-using-C

  1.3 使用中間件;比如一個商業的中間件:http://j-integra.intrinsyc.com/;

  1.4 使用 IKVM.NET,這是一個在.net 下實現的Java VM,所以在經過一個轉換後,直接跑Java的東西;

(以上4點,是我在網上搜的)

 

   我主要說第四點:使用IKVM.NET。

  a:下載ikvm-0.40.0.1.zip;ikvmbin-0.40.0.1.zip;openjdk6-b12-stripped.zip;

解壓ikvm-0.40.0.1.zip,並將%IKVM_HOME%\bin添加到path中。此處的%IKVM_HOME%是指解壓後ikvm的主目錄。

  b:建立一個JavaProject,自定義包、類、需要透露給外界的方法,然後、將這個JavaProject打包成jar文件。(eclipse和myeclipse都自帶的,或者你可以顯擺一下,用黑框框敲幾個代碼整)。

  c:狸貓換太子:jar>>dll

   打開黑框框(即:win+r,cmd,進入到%IKVM_HOME%\bin的目錄下),

執行:ikvmc -out:dllFileNameOrPath.dll javaFileNameOrPath.jar

此時,就會在%IKVM_HOME%\bin目錄下或者指定的Path下,會出現一個dllFileNameOrPath.dll文件,置於你的.Net項目中,添加引用,與此同時,請將

       %IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll

  %IKVM_HOME%\bin\IKVM.Runtime.dll

  %IKVM_HOME%\bin\IKVM.Runtime.JNI.dll

添加到你的.Net項目中,切記!

   其中,using 後面跟java類的包名。

 

2、C#和Java整合,不,應該是.Net和Java整合。爲啥要整合?

   在業間,有人士稱,.Net開發除服務層以外的,開發速度快,效率高。而Java做後臺服務,安全性、可擴展性高。所以纔有牛人將兩者整合。目前.Net和Java整合技術的應用,算是一個新旗幟,但目前已經被應用於實際開發了。

 

3、正如2所說,.Net和Java整合,Java主要承擔DAL,也就是和DB進行主要的交互,以及其他通信。而.Net主要承擔BLL。

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