一、將已經編譯后的java中Class文件進行打包;
Eclipse或myeclipse進行Export選擇jar即可。或者使用命令
如:將某目錄下的所有class文件夾全部進行打包處理;
使用的命令:jar cvf test.jar -C com/ .
其中test.jar為要生成的jar包;com/ . 為指定的當前目錄下的文件夾,該文件夾包括子文件夾及class文件;
cmd->到java class文件目錄下->jar cvf 要生成的jar包名稱.jar java類文件名.class
二、到IKVM官方網站下載IKVM需要的組件http://sourceforge.net/projects/ikvm/files/ikvm/
ikvmbin-0.46.0.1.zip
若不能下載,可以在我的資源庫中查找,我已上傳到我的csdn資源庫中
三、設置路徑
解壓ikvmbin-0.46.0.1.zip,並將%IKVM_HOME%\bin添加到path中。此處的%IKVM_HOME%是指解壓后ikvm的主目錄。
四、將java的jar包轉換為.dll控件
使用的命令:ikvmc -out:D:\com.J2Csharp.dll D:\com.J2Csharp.jar
其中com.J2Csharp.dll 為將要生成的.dll控件文件名;com.J2Csharp.jar為之前打包好的jar包文件。
五、在C#項目中添加所需的控件
1、新建一個C#.NET項目,首先添加一下必須的DLLs
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
2、添加已生成的.dll文件
將之前生成好的.dll文件加載到C#項目中
六、測試
在C#項目中使用java類,其方法同java。但對包的引用使用C#的語法using
源代碼:
Java源代碼:
package com;
public class J2Csharp { public String toString(){ return "88888888888"; } }
C#窗體源代碼:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using com; namespace CJTtst { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) { J2Csharp js = new J2Csharp(); MessageBox.Show(""+js.toString()); } } }