博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java cpcl指令_C#实现调用Java类中方法
阅读量:5939 次
发布时间:2019-06-19

本文共 1425 字,大约阅读时间需要 4 分钟。

基本思路:

用C#实现调用Java编写的类中的方法;重点是将Java编写的程序打包成Jar,然后使用开源工具IKVM将其转化成DLL控件,在.NET环境下调用。

分为以下步骤:

1.下载JDK6(注:JDK7下可能不支持,建议使用JDK6和Eclipse),进行安装,然后配置环境变量Path,将JDK安装的路径(例如:D:\Program Files\Java\jdk1.6.0_10\bin)添加到Path变量后面,如图所示:

1361241212_8303.png

用cmd打开DOS框,输入javac就可以查看是否配置成功,配置成功会有较详细的信息展示。

2.打开Eclipse编写Java应用程序,然后将其打包成Jar包(也可以在cmd下使用命令进行)

1361241409_9595.png

对Hello.java文件进行编译后形成Hello.class文件,然后鼠标选中Hello.java文件然后右击选择Export(导出)然后选择JAR File点击下一步,完成就生成JAR文件。

也可以使用cmd命令行进行手动生成JAR文件,如图所示:

1361241451_5711.png

其中Test_Java\bin\com\Hello.class是生成的.class文件的路径,com.Hello.jar是你要生成的JAR文件的名称。

3.到IKVM官方网站下载IKVM需要的组件 http://www.ikvm.net/

ikvm-0.42.0.3.zipikvmbin-0.42.0.3.zipopenjdk6-b16-stripped.zip三个压缩文件,然后将ikvm-0.42.0.3.zip进行解压,将其解压的文件的路径添加到环境变量Path后面,类似于配置JDK时的做法。

4.将转化的JAR包通过IKVM工具转化为DLL控件。

在cmd下使用命令ikvmc -out:Hello.dll com.Hello.jar即可转化

5.新建C#项目,将ikvm-0.42.0.3.zip解压出来的文件路径的bin目录下找到以下3个DLL控件IKVM.OpenJDK.Core.dll ,IKVM.Runtime.dll ,IKVM.Runtime.JNI.dll 将它们添加引用添加到C#项目中。然后添加自己生成的Hello.dll控件。

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;

//引入命名空间(Java中包的名字到C#这边会转化成namespace)

using com;

namespace WindowsFormsHello

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btnClick_Click(object sender, EventArgs e)

{

//Java中的类

Hello hello = new Hello();

MessageBox.Show(hello.SayHello());

}

}

}

点击界面上的按钮,就会输出Hello,Java的信息。

转载地址:http://oqltx.baihongyu.com/

你可能感兴趣的文章
巧用DevExpress GridView导入导出Excel
查看>>
Cocos2d-x 学习笔记一 HelloWorld
查看>>
我的友情链接
查看>>
phonegap+jquerymobile开发android的心得(6)
查看>>
TLD文件中body-content四种类型(能力工场)
查看>>
一门杀人于无形的艺术——>社会工程
查看>>
Hyper-V 3.0部署PART 14:准备仲裁磁盘
查看>>
CentOS 7.0系统安装配置图解教程
查看>>
zabbix监控系统的安装与配置
查看>>
Linux下杀毒软件Clamav的安装和使用
查看>>
CentOS6.5上源码安装MongoDB3.2.1
查看>>
centos5.8 安装配置vsftp虚拟用户
查看>>
海量大数据处理最新面试题-1
查看>>
dubbo学习之dubbo管理控制台装配及集成zookeeper集群部署(1)【转】
查看>>
APKTOOL编译出现“entry index is larger than available symbols” <index ,total symbols> 的研究...
查看>>
高拍仪是否支持TWAIN方式的测试方法
查看>>
Jquery加载dom元素
查看>>
VIM 命令使用大全
查看>>
MYSQL注入
查看>>
Linux 命令 sudo 用法及配置解析
查看>>