zoukankan      html  css  js  c++  java
  • C#调用Java类

    C#调用Java类

    (2011-01-07 14:02:05)
      分类: Java学习

     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:ikvminikvmc -out:c:ikvmhello.dll c:ikvmhello.jar

     5.

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

    binIKVM.OpenJDK.Core.dll

    binIKVM.Runtime.dll

    binIKVM.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中的哪些功能,但简单的绝对没问题。
  • 相关阅读:
    redis-hash
    redis-list操作
    bootstrap之消息提示
    jQuery水平下拉菜单实现
    JavaScript的Date对象
    积水问题
    Queue的push和front操作
    Stack的pop和push操作
    .py文件不能设置默认打开程序 win10
    Anaconda的安装
  • 原文地址:https://www.cnblogs.com/google4y/p/3941962.html
Copyright © 2011-2022 走看看