您的位置:首页 > 编程语言 > C#

c#调用java代码(jar转化成dll):ikvm 使用注意事项

2017-03-31 22:09 796 查看
在开发前先强调一点:截止这个时间点一定不要使用jdk1.8版本,这点很重要。

分享:推荐链接

我就是按照这个做的。具体jar包转换成dll原理:①虚拟机:ikvm 是使用c#代码实现的jdk环境。②类库使用c#代实现java类库,就好比object与System对应。所以可以识别javabytecode转化为相应的c#代码。

下面是转化java代码为c#步骤:

首先配置下载ikvm,安装配置环境变量。具体步骤可以看分享链接。我主要介绍我在转的时候遇到问题,希望可以帮助和我一样的人尽快解决问题。

①写测试类—->编译(这个一定要编译(.javaà.class))

②转化成jar包。这个注意下:有一种简单的方式将。Class文件打包成.zip文件然后改后缀名。一定要打包成.zip格式文件再改后缀名。

③使用ikvm转换:在dos命令窗口中输入:ikvmc -target:library a.jar

其中a.jar是你jar包。

这样就会生成可以使用的dll文件。

分享其中遇到一些问题:

一、jar包问题,”cannot find central directory” 压缩文件的时候选择.rar格式造成的。



二、jdk版本导致的报错:.class不是一个类。这是属于你jdk版本的原因。(我之前使用jdk1.8编译,一直报错后来换了1.7版本可以了,1.6有位网友验证也可以的。)

下面图片讲解给没使用过.net开发人员

添加引用:见图添加了自己转的hello.dll,以及ikvm相应的dll如果想查看hello.dll里面包含哪些类,哪些方法,可以双击该引用一下。

在代码里使用using 导入相应的包(c#里称为namespace),剩下就是大胆使用他的类和方法。







这个小Demo有个疑问:能不能将java web项目转化为jar包供c#项目调用。其中我主要疑虑xml文件和jsp文件这两个地方,就是不知道xml文件是否可行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ikvm c#调用java方法