c#直接调用java代码,需要ikvmbin-0.44.0.5.zip。下载地址:
http://pan.baidu.com/s/17moxX
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返回的集合,这里就没深入研究了 |