C#调用java

本篇将记录C#如何调用java。

 

准备:java8、ikvm8(java7对应ikvm7,其他版本未知)

 

大致流程:

  1. .java项目转.jar文件;
  2. .jar文件转.dll文件;
  3. 项目引用dll文件;

 

一、. Java项目转.jar文件

       Idea新建空java项目,修改项目SDK为1.8,Language level 为 18。
       点击File – Project Structure – Project。

       点击File – Settings – Build,Execution,Deployment – Compiler – Java Compiler,修改Project bytecode version:8

       新建.java文件,点build project,生成.class文件。

       点击File – Project Structure – Artifacts – JAR – Empty,

       修改Name,并在.jar右键Add Copy of,

       找到刚刚 build project 所生成的.class文件;(如果.java有包路径,需要在.jar创建对应的目录)

       点击OK。

       在idea菜单栏点击 Build – Build Artifacts,生成TestJar2Dll.jar文件

 

二、.jar文件转.dll文件

       Cmd,打开ikvm\bin目录,输入ikvmc –out:D:\xxx.dll D:\xxx.jar (第一个为输出dll目录,第二个为jar文件目录),出现如下图,没有其他提示说明生成成功。

       如果出现如下图,考虑java版本和ikvm版本是否一致。

 

三、项目引用dll文件

       新建C#项目,右键项目,管理NuGet程序包,安装IKVM 8.1.5717版本(因为我的ikvm用的是8.1.5717版本),并且引用.jar生成的.dll

       至此,项目就可以使用java的方法。

       最后,项目生成完后,需要把ikvm的dll放到项目根目录下。其中IKVM.OpenJDK.Core.dll、IKVM.Runtime.dll、IKVM.Runtime.JNI.dll为必须引用,其他根据java项目的引用而选择引用。

 

posted @ 2023-09-15 23:55  浩瀚-宇宙  阅读(1816)  评论(0)    收藏  举报