繁体   English   中英

IKVM实际上需要jar在C#中运行?

[英]What does IKVM actually need for a jar to run in C#?

我将weka用于C#,并尝试使用IKVM将weka.jar移植到c#-dll中。 该教程可以在这里找到。

现在,这是我在C#程序的bin目录中得到的内容:

weka.dll-由IKVM生成

IKVM.OpenJDK.Core.dll-来自IKVM库

JVM.dll-来自IKVM库

和java / bin在我的PATH变量中。

但是程序在

weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader("iris.arff"));

错误是在初始化java.io.File

我认为这是因为C#/ bin中缺少某些dll

我可以通过将与IKVM和Java相关的每个dll复制到C#/ bin目录中来解决此问题。 但是,它是如此丑陋。

现在出现我的问题: Java ==IKVM==> C#程序确实需要哪些运行时库?

更新

我将所有相关的内容都复制到了C#/ bin中,并且可以正常工作。

但是请相信我,我不想这样做。

如果没有您的回答,您永远无法回答程序需要Java / IKVM的哪些部分的问题。 您是唯一了解您的程序的人。 一个小程序大约需要IKVM dll的50%。 这是因为Java中的依赖性非常大。

最小值是IKVM.OpenJDK.Core.dll和IKVM.Runtime.dll。 但是我不会通过dll添加dll。 否则,我将逐步删除它。 您可以使用dll文件名或Ilspy来查看您可能不需要的dll。

这是一些罕见的用途。 这可以给您一个提示:

  • IKVM.OpenJDK.Tools.dll-Java编译器
  • * .exe-不同的工具
  • IKVM.OpenJDK.Jdbc.dll-SQL和数据库API
  • IKVM.OpenJDK.Corba.dll-Corba
  • IKVM.OpenJDK.Beans.dll-普通的旧豆
  • ikvm-native-win32-*。dll,JVM.dll,IKVM.Runtime.JNI.dll-本地文件,如果您的Java代码已使用dll
  • IKVM.OpenJDK.Naming.dll-诸如LDAP,DNS之类的命名服务
  • IKVM.AWT.WinForms.dll,IKVM.OpenJDK.SwingAWT.dll-图像,字体,GUI

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM