小毅收藏之------在C#中调用Java代码

Posted on 2009-06-12 22:31 H2O 阅读(799) 评论(0)  编辑  收藏 所属分类: java
  1. IKVM官方网站下载IKVM需要的组件
    1. ikvm-0.40.0.1.zip
    2. ikvmbin-0.40.0.1.zip
    3. openjdk6-b12-stripped.zip
  2. 解压ikvm-0.40.0.1.zip,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。
  3. Debian IKVM下载IKVM.OpenJDK.ClassLibrary.dll
    1. 或者到rayfile去下载data.tar.gz。这个文件可以直接用winrar解压。
    2. 你需要下载一个简单的工具undeb去解压.deb文件。
      1. 也可以到rayfile下载
  4. 解压ikvm_0.38.0.2+dfsg-2_all.deb文件。
  5. 新建一个Java文件
    package com.helloikvm.simple;

    public class SimpleReturnString 
        
    public String returnString() {
            
    return "Hello, IKVM!";
        }
     

        
    public void throwException() throws Exception {
            
    throw new Exception("Hello, Exception!");
        }

    }
     
  6. 编译SimpleReturnString文件,然后将其打包成一个jar文件,例如IKVM.jar.
  7. 使用ikvmc -out:IKVM.dll IKVM.jar。你现在应该在IKVM的目录下面看到一个IKVM.dll文件。
  8. 新建一个C#.NET项目,首先添加一下必须的DLLs
    1. %IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
    2. %IKVM_HOME%\bin\IKVM.Runtime.dll
    3. %IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
    4. IKVM.OpenJDK.ClassLibrary.dll[这的DLL在ikvm_0.38.0.2+dfsg-2_all.deb\usr\lib\cli文件夹中。或者也可在data.tar.gz中的usr\lib\cli中找到。参看第三步和第四步]
  9. 添加第10步生成的IKVM.dll到C#.NET项目中,然后using %package_name%就可以实现对Java的调用。
  10. 编写C#代码
    // import java package 

    using com.helloikvm.simple; 

    namespace IKVMTest
    {
        
    public partial class Form1 : Form
        
    {
            
    public Form1()
            
    {
                InitializeComponent();
            }
     
            
    private void btnTest_Click(object sender, EventArgs e)
            
    {
                
    // Initialize the Java method
                SimpleReturnString simpler = new SimpleReturnString(); 
                
    // Call Java method 
                String returnString = simpler.returnString();
                txtTest.Text 
    = returnString;
            }

        }

    }
     

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 0, comments - 21, trackbacks - 0, articles - 101

Copyright © H2O