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下,不要放在默认包下):
package com.xyy.csharp; import java.util.ArrayList;
import java.util.List; public class TestMain { //获得集合
public List<Demo1> getLists(){
List<Demo1> lst=new ArrayList<Demo1>();
Demo1 d=new Demo1();
d.setId(1);
d.setName("admin");
Demo1 d2=new Demo1();
d2.setId(2);
d2.setName("sa"); lst.add(d);
lst.add(d2);
return lst;
} //获得字符串
public String getString(){
return "我是字符串";
} //获得对象
public Demo1 getObject(){
Demo1 demo=new Demo1();
demo.setId(1);
demo.setName("admin");
return demo;
} //获得boolean
public boolean getBoolean(){
return Boolean.TRUE;
} //在控制台输出
public void SystemOutPrint(){
System.out.println("我是控制台输出语句");
}
}
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返回的集合,这里就没深入研究了