- 博客(0)
- 资源 (3)
- 收藏
- 关注
在C#中调用 java的函数(C#与java结合使用)ivkm相关包
在C#中调用 java的函数:
一、简要步骤:
首先,编写 java代码,并用java编译工具编译生成jar或class;
然后,使用 ikvmc 将jar或class文件编译成DLL文件;
最后,建立C#工程,调用DLL。
二、准备工作:
1、下载IKVM需要的组件:
openjdk6-b12-stripped.zip
ikvmbin-0.40.0.1.zip
ikvm-0.40.0.1.zip
2、 到mono官方网站(http://www.go-mono.com/mono-downloads/download.html)下载:
mono-2.4.2.3-gtksharp-2.12.9-win32-3.exe。该文件较大,有70多M。下载该文件的主要目的是提取其中的IKVM.OpenJDK.ClassLibrary.dll,该文件有30M。(当然也可以在Google上搜索下载。)
3、解压ikvm-0.40.0.1.zip,然后将其中的bin目录的全路径添加到Path环境变量中;
4、安装mono-2.4.2.3-gtksharp-2.12.9-win32-3.exe,然后在其路径下找到IKVM.OpenJDK.ClassLibrary.dll,默认是:C:/Program Files/Mono-2.4.2.3/lib/mono/ikvm;
5、将在第3、4步中找到的以下四个DLL拷出存放,目的是便于C#工程引用:
IKVM.OpenJDK.ClassLibrary.dll
IKVM.OpenJDK.Core.dll
IKVM.Runtime.dll
IKVM.Runtime.JNI.dll
准备工作完毕。
三、测试实例:(很简单的代码)
1、 建立一文本文件:demo.java,输入代码如下:
package test;
public class demo
{
public String Message = "Hello from Java!";//java 属性
public String Function() //java 方法
{
String str1="Test ";
String str2="OK!";
return str1+str2;
}
}
2、进入CMD,cd到demo.java所在路径:
先执行:javac demo.java
再执行:ikvmc demo.class
至此,应该已经生成 demo.dll 文件了。
2、 新建C#的Form程序,在“解决方案”--“引用”中添加demo.dll和上面所提到的四个IKVM的dll;
3、 在按钮的响应事件中添加如下代码:
private void button1_Click(object sender, EventArgs e)
{
test.demo td = new test.demo();
MessageBox.Show(td.Message);
MessageBox.Show(td.Function());//调用java的方法
}
4、编译,运行,OK。
2014-02-10
在C#中调用 java的函数(C#与java结合使用)ikvm相关包
a:下载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的主目录。
b:建立一个JavaProject,自定义包、类、需要透露给外界的方法,然后、将这个JavaProject打包成jar文件。(eclipse和myeclipse都自带的,或者你可以显摆一下,用黑框框敲几个代码整)。
c:狸猫换太子:jar>>dll
打开黑框框(即:win+r,cmd,进入到%IKVM_HOME%\bin的目录下),
执行:ikvmc -out:dllFileNameOrPath.dll javaFileNameOrPath.jar
此时,就会在%IKVM_HOME%\bin目录下或者指定的Path下,会出现一个dllFileNameOrPath.dll文件,置于你的.Net项目中,添加引用,与此同时,请将
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
添加到你的.Net项目中,切记!
其中,using 后面跟java类的包名。
2014-02-10
在C#中调用 java的函数(C#与java结合使用)的ikvm相关包
a:下载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的主目录。
b:建立一个JavaProject,自定义包、类、需要透露给外界的方法,然后、将这个JavaProject打包成jar文件。(eclipse和myeclipse都自带的,或者你可以显摆一下,用黑框框敲几个代码整)。
c:狸猫换太子:jar>>dll
打开黑框框(即:win+r,cmd,进入到%IKVM_HOME%\bin的目录下),
执行:ikvmc -out:dllFileNameOrPath.dll javaFileNameOrPath.jar
此时,就会在%IKVM_HOME%\bin目录下或者指定的Path下,会出现一个dllFileNameOrPath.dll文件,置于你的.Net项目中,添加引用,与此同时,请将
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
添加到你的.Net项目中,切记!
其中,using 后面跟java类的包名。
2014-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人