1、首先你需要到 IKVM官网 下载IKVM。http://sourceforge.net/projects/ikvm/files/,需要注意的是如果你用的是.net framework2.0,那么最新版本的IKVM就不能用,你能用的是0.38.0.2版本的

      配置环境变量:右击“计算机”,选择“属性”,进入“高级系统设置”,“高级”-->“环境变量”,在path中添加“;D:\Program Files\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin”,其中第一个“;”可选,后面“D:\Program Files\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5”为你的IKVM的路径。
      测试:通过“CMD”,输入"ikvmc",Enter以下可以看到好多提示信息。
2、其次你要编写一个简单的java程序,网上最流行的一个例子:
package com.zht;
//要调用的Java类 
public class Test {
   //要调用的Java方法 
    public String returnString() {
        return "Hello, zht!";
    }
}
3、你要把java程序打包成jar文件
选中该项目,右击,选中“O(导出/Export)”,选择“java”-->"JAR 文件",下一步之后,选择你要打包的类文件(或包),选择“导出生成的类文件和资源”,下一步 再 下一步 ,确定。

4、你要用ikvm把jar文件编译成dll文件
      CMD之后,输入“ikvmc -out:E:\hello.dll E:\hello.jar”,ikvmc是命令,-out:后面接输出的DLL文件,空格之后接 jar文件。
5、在C#中调用DLL文件
      新建C#工程(可以是控制台程序,也可以是WinForm程序),添加引用:
1)hello.dll  (你刚刚生成的DLL文件)
2)IKVM.OpenJDK.Core.dll ; IKVM.Runtime.dll ; IKVM.Runtime.JNI.dll  (这三个是基本的DLL文件,其它DLL文件视情况添加)

    通过using com.zht;导入该命名空间。可以新建Test类,以及使用该类的方法returnString();
     代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.zht;
namespace DllTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine((new Test()).returnString());
            Console.ReadKey();
        }
    }
}
     运行结果如下图:

最新文章

  1. acm小知识
  2. fail2ban 保护
  3. poj 2186 tarjan求强连通分量
  4. html5标签css3的常用样式
  5. linux 下Time_wait过多问题解决
  6. 蚁群算法和简要matlab来源
  7. Android 下载模块分析(DownloadManager和DownloadProvider)
  8. NOIP2001-普及组复赛-第二题-最大公约数和最小公倍数问题
  9. Java中多线程原理详解
  10. python-数据类型之题型
  11. linux shell 脚本 svn自动更新项目并且打包 、发布、备份
  12. react-redux-store
  13. linux 文件打包压缩成.tar.gz
  14. 【数位dp】Beautiful Numbers @2018acm上海大都会赛J
  15. django 初始命令
  16. win10 安全设置
  17. maven(七),本地仓库
  18. 论文笔记——Deep Residual Learning for Image Recognition
  19. Appium測试安卓Launcher以滑动窗口获得目标应用
  20. 密码分析:使用 Ettercap 和 它的 ARP 毒化功能来嗅探流量

热门文章

  1. 51nod1007:正整数分组 DP
  2. Jlink线序问题
  3. python的debug神器PySnooper
  4. CPU压力测试--限制到指定范围
  5. 吴裕雄--天生自然 PHP开发学习:超级全局变量
  6. JDK的安装与环境变量配置
  7. 第 10 章 gdb
  8. vue实现简单的过滤器
  9. MySQL--OPTIMIZE TABLE碎片整理
  10. Django专题-auto模块