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

来源:互联网 发布:漳浦网络花店 编辑:程序博客网 时间:2024/06/07 20:39

在开发前先强调一点:截止这个时间点一定不要使用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文件是否可行。

0 0