首页  ·  知识 ·  编程语言
调用Java类
记者  收集  .NET  编辑:dezai   图片来源:网络
到IKVM官方网站下载IKVM需要的组件http://www.ikvm.net/,我当的版本是ikvmbin-0.45.4013。解压缩ikvmbin-0.45.4013.zip,为了使用方便,将解压缩后的文件和文件夹放至c:\i

 

 1.

在Eclipse中新建名称为hello的java project,此工程仅包含一个文件hello.java,具体代码如下:

public class hello {

 public String GetString(String str)throws Exception {
  try
  {
   return "您好!" + str;
  }
  catch(Exception ex)
  {
   return "发生错误";
  }
 }

}

 2.

将hello项目文件打成hello.jar,Eclipse提供这个功能。

 3.

到IKVM官方网站下载IKVM需要的组件  http://www.ikvm.net/ ,我当的版本是ikvmbin-0.45.4013。

解压缩ikvmbin-0.45.4013.zip,为了使用方便,将解压缩后的文件和文件夹放至c:\ikvm\下。

 4. 将hello.jar放至c:\ikvm\下。使用ikvm将hello.jar包转换为hello.dll控件。方法:在Cmd中执行

c:\ikvm\bin\ikvmc -out:c:\ikvm\hello.dll c:\ikvm\hello.jar

 5.

新建C#工程,添加IKVM的dll引用 和 hello.dll引用

bin\IKVM.OpenJDK.Core.dll

bin\IKVM.Runtime.dll

bin\IKVM.Runtime.JNI.dll

hello.dll

说明:以上IKVM中的三个dll为最小dll(因为我在hello.java中仅仅打印了一个字符串,没有其他复杂的代码),如果你java类中使用的jdk的功能较多,则按需要引用bin下以IKVM开头的其他dll

 6.

测试,以下为C#代码

hello t = new hello();
string str = t.GetString();
MessageBox.Show(str); 

 7. 不是所有的Java类都能调用成功,这要看IKVM支持了jdk中的哪些功能,但简单的绝对没问题。
本文作者:记者 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读