到IKVM官方網站下載IKVM需要的組件
ikvm-0.40.0.1.zip
ikvmbin-0.40.0.1.zip
openjdk6-b12-stripped.zip
解壓ikvm-0.40.0.1.zip,並將%IKVM_HOME%\bin添加到path中。此處的%IKVM_HOME%是指解壓後ikvm的主目錄。
到Debian IKVM下載IKVM.OpenJDK.ClassLibrary.dll。
或者到rayfile去下載data.tar.gz。這個文件可以直接用winrar解壓。
你需要下載一個簡單的工具undeb去解壓.deb文件。
也可以到rayfile下載
解壓ikvm_0.38.0.2+dfsg-2_all.deb文件。
新建一個Java文件 package com.helloikvm.simple;
public class SimpleReturnString {
public String returnString() {
return "Hello, IKVM!";
}
public void throwException() throws Exception {
throw new Exception("Hello, Exception!");
}
}
編譯SimpleReturnString文件,然後將其打包成一個jar文件,例如IKVM.jar.
使用ikvmc -out:IKVM.dll IKVM.jar。你現在應該在IKVM的目錄下面看到一個IKVM.dll文件。
新建一個C#.NET項目,首先添加一下必須的DLLs
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
IKVM.OpenJDK.ClassLibrary.dll[這的DLL在ikvm_0.38.0.2+dfsg-2_all.deb\usr\lib\cli文件夾中。或者也可在data.tar.gz中的 usr\lib\cli中找到。參看第三步和第四步]
添加第10步生成的IKVM.dll到C#.NET項目中,然後using %package_name%就可以實現對Java的調用。
編寫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;
}
}
}