c#直接調用java代碼,需要ikvmbin-0.44.0.5.zip。下載地址:
http://pan.baidu.com/share/link?shareid=3996679697&uk=255031021
1.下載並解壓
2.配置環境變量:
在path中添加%IKVM_HOME%\bin,IKVM_HOME為解壓后的IKVM的主目錄。在dos界面,輸入"ikvm"命令,測試是否配置成功
3.編寫java代碼(java代碼,要放在指定的package下,不要放在默認包下):
1 package com.xyy.csharp; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class TestMain { 7 8 //獲得集合 9 public List<Demo1> getLists(){ 10 List<Demo1> lst=new ArrayList<Demo1>(); 11 Demo1 d=new Demo1(); 12 d.setId(1); 13 d.setName("admin"); 14 Demo1 d2=new Demo1(); 15 d2.setId(2); 16 d2.setName("sa"); 17 18 lst.add(d); 19 lst.add(d2); 20 return lst; 21 } 22 23 //獲得字符串 24 public String getString(){ 25 return "我是字符串"; 26 } 27 28 //獲得對象 29 public Demo1 getObject(){ 30 Demo1 demo=new Demo1(); 31 demo.setId(1); 32 demo.setName("admin"); 33 return demo; 34 } 35 36 //獲得boolean 37 public boolean getBoolean(){ 38 return Boolean.TRUE; 39 } 40 41 //在控制台輸出 42 public void SystemOutPrint(){ 43 System.out.println("我是控制台輸出語句"); 44 } 45 }
5.將java項目打成jar包(test.jar)
6.使用命令,將jar包打成dll:ikvmc -out:IKVM.dll test.jar
7.新建c#項目,引入以下三個dll:
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
引入剛剛打包的IKVM.dll
8.
9.輸出結果:
10.c#不能直接接收java返回的集合,這里就沒深入研究了