.net调用java的Jar包(多种情况解决方案)

一.下载IKVM

需要注意版本的问题,JDK版本为1.7的话使用ikvmbin-7.2.4版本,如果JDK版本为1.8的话使用ikvmbin-8.1版本,这个不向低版本兼容哦,如果找不到这个版本的ikvm可以私聊我。
下载地址:http://www.ikvm.net/download.html
8.1版本下载地址 http://weblog.ikvm.net/2015/08/26/IKVMNET81ReleaseCandidate0.aspx

二.配置环境变量

解压后,需要配置环境变量,在"Path"中添加bin目录的路径。
.net调用java的Jar包(多种情况解决方案)_第1张图片

三.转换dll

1.如果需要转换的class文件没有引入其他的jar包

如果需要转换为dll的class文件没有引入其他的jar包的话,那么可以直接通过命令将class文件生成为可执行的jar包
例如写了一个测试的class文件名字叫做ApiJavaClass.java
那么我们需要执行三步,
首先编译

 javac ApiJavaClass.java

然后进行打包为jar包

jar cvf ApiJavaClass.jar ApiJavaClass.class

最后执行转换dll的命令

ikvmc -out:ApiJavaClass.dll ApiJavaClass.jar//将jar文件转换成dll类库

注意执行以上命令文件必须所在同一个文件夹

2.如果需要转换多个class,或者需要转换的class中引入了其他的jar包

如果需要转换多个class,或者需要转换的class中引入了其他的jar包,那么可以使用下面两种方法
使用的命令:ikvmc -target:library xxx.jar 和 ikvmc -target:library -reference:需引用A.dll -reference:需引用B.dll 主的.jar

前者命令是把jar打成dll 后者是把jar打成dll的同时 加入他需要外部引入的dll包(原jar包引用)
.net调用java的Jar包(多种情况解决方案)_第2张图片
第二种方法比较简单,使用idea编辑器,创建一个项目,并且引入对应的jar包,然后将项目导出成jar包,之后将主jar包转换成dll就可以了
.net调用java的Jar包(多种情况解决方案)_第3张图片

你可能感兴趣的:(java,java,.net)