C#调用Java代码

  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返回的集合,这里就没深入研究了

 

 

posted @ 2013-09-30 16:38  楪夕  阅读(7085)  评论(7编辑  收藏  举报