参考资料:https://blog.csdn.net/threadroc/article/details/51406587

参考1:http://www.cnblogs.com/Jack-Blog/p/4710848.html?utm_source=tuicool&utm_medium=referral

参考2:http://www.tuicool.com/articles/EZJ7zqR

环境:

jdk-7windows-x64     (友情提示:不要用最新版的jdk, jdk1.8应该不行)

eclipse-jee-kepler-SR2-win32-x86_64

1.到http://www.ikvm.net/下载ikvm;

不会下载的到这里下:http://download.csdn.net/detail/threadroc/9520165

下载完毕后解压,我的解压目录:D:\workspace\java\ikvm-7.2.4630.5

2.设置ikvm环境变量

右击我的电脑->属性->高级系统设置->环境变量;

在系统变量下的path添加  D:\workspace\java\ikvm-7.2.4630.5  (友情提示:别忘了分号)

3.导出jar包

你的项目必须有包名假设为test_pkg

在eclipse中选中你要导出jar的项目->右键->Export->选中Java文件夹下的Jar file->Next->一路Next->Finish;

4.jar转dll

新建一个文件夹名为[temp],文件夹里新建一个名为[cd.bat]文件,文件内容是cmd

把你刚才导出的jar包复制到该文件夹;

双击cd.bat运行,

输入ikvmc -out:Test.dll Test.jar   (含义是将Test.jar转换为Test.dll,  [Test]换成你的包名)

如果你的java项目引用了第三方包.  比如我引用了一个叫abc.jar和qwe.jar的包

你还需要用命令

ikvmc -out:abc.dll abc.jar   将abc.jar包转换为abc.dll

ikvmc -out:qwe.dll qwe.jar   将qwe.jar包转换为qwe.dll

然后用ikvmc -target:library Test.jar -r:abc.dll -r:qwe.dll   (意思就是将Test.jar转换为Test.dll,并引用了abc.dll和qwe.dll)

5.C#调用

C#引用

IKVM.OpenJDK.Core.dll

IKVM.Runtime.dll

IKVM.Runtime.JNI.dll

IKVM.OpenJDK.ClassLibrary.dll

IKVM.OpenJDK.Security

以上几个可以在ikvm安装目录找到,找不到的在此下载:http://download.csdn.net/detail/threadroc/9520211

最后再引用Test.dll和与其相关的jar包编译成的dll就可以了.

using test_pkg

就可以调用java代码了;

c 调用java包_C#调用java代码(IKVMC)相关推荐

  1. 关于java包_关于Java包

    关于java包 我希望大家都同意,类的方法应该很小,并且只有很少的依赖关系. 这种观点被广泛接受,而对"小"的解释则各不相同. 关于这一点有很多文献. 但是包裹呢? 有些人将包视为 ...

  2. java 析构函数_C++与Java的区别(一)

    一,前言 网上经常看到编程语言之争,大伙儿皈依到不同门派,各自怀抱信仰,时不时还发生点儿"冲突". 这其中,C++和Java的优劣,十多年前就常吵的火热.然而时代在进步,技术在发展 ...

  3. 与java比较_C++与Java比较

    "作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的.事实上,Java本来就是从C++衍生出来的." 然而,C++和Java之间仍存 ...

  4. java包(翻译自Java Tutorials)

    原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/17/2821935.html 英文出自 http://docs.oracle.com/ja ...

  5. java memorystream 包_C#到Java:Base64String,MemoryStream,GZipStream

    我有一个在.NET中被gzip压缩的Base64字符串,我想将它转换回Java中的字符串.我正在寻找C#语法的一些Java等价物,特别是: > Convert.FromBase64String ...

  6. c#调用python函数_C#调用python脚本的方法步骤(2种)

    因项目需要,需要使用C#控制台程序执行python脚本,查询各种资料后可以成功调用了,记录一下,以备后面遗忘. 只尝试了两种调用方式,第一种只适用于python脚本中不包含第三方模块的情况,第二种针对 ...

  7. C 多态和java多态_C与java的多态机制与区别

    既然多态是面向对象的三大本质特征之一(其它两个是数据抽象和继承),那么 C++为什么不将方法调用的默认方式设置为动态绑定,而要通过关键字virtual进行标记呢?Bruce Eckel在<Thi ...

  8. cmd 调用webservice接口_C++ 调用 Webservice gSoap 方法

    大体思路是:使用gsoap生成文件,把生成的相关文件均加载到项目中调用 本文以调用天气的webservice为例子,手把手教你. 步骤一 准备gSOAP工具:将gsoap_2.8.100.zip解压, ...

  9. c 异常 java异常_C ++和Java中异常处理的比较

    如今,几乎所有面向对象的语言都具有异常处理功能.在C ++和Java中,我们也可以获得这种功能.C ++中的异常处理和Java中的异常处理之间有一些相似之处,例如在两种语言中,我们都必须使用try-c ...

最新文章

  1. Apple-Watch开发2 APPIcon设置
  2. 2021-02-04 Halcon初学者知识【12】 如何配置VC++和Halcon环境
  3. c语言插入特定的字符串,C语言实现:将一个字符串插入到另一个字符串的指定位置...
  4. php在线模拟高考志愿,高考志愿模拟填报系统
  5. asp.net基础知识
  6. esim办理出现差错_经营二氧化碳如何办理危化证?快来看!
  7. 一些人一旦离开原来的单位,就不爱再去了,是为什么?
  8. 天 月_财务结算专业术语快来学习!月结和月结30天的区别
  9. PCL——连接两个点云的字段
  10. atitit.dw不能显示正确的百分比高度in dw的解决
  11. python traceback报错_怎么屏蔽Python Traceback错误信息
  12. 1.什么是NoSql数据库?
  13. Shell脚本学习指南读书笔记(一)
  14. libmodbus之嵌入式Linux使用及测试
  15. java在线校验银行卡号_校验银行卡卡号
  16. Spark Sql练习之疫情简单分析
  17. 如何测量二极管的正负极
  18. 第1篇 初识IPP(Integrated Performance Primitives)
  19. 易快报对接飞书的五个关键步骤
  20. python qqplot 检验正态分布

热门文章

  1. CentOS下创建配置RAID1
  2. 在caffe上fine-tuning网络
  3. [云炬创业学笔记]第二章决定成为创业者测试14
  4. 谈大学教育2018-01-12
  5. Coursera吴恩达《神经网络与深度学习》课程笔记(5)-- 深层神经网络
  6. Delphi处理TWebBrowser的Close事件
  7. JavaScript 模拟事件触发
  8. catch(...)详解
  9. JAVA——Map基础知识
  10. react创建新项目