一尘不染

在C#中使用.jar Java库API?

c#

我是入门级程序员,所以请在您的回复中说明一下。

我正在尝试使用C#.net应用程序中以.jar文件形式给出的Java
API。我不太了解Java,但是当我尝试运行该.jar文件时,它说“没有主类清单属性”,因此这意味着它是一个库?该Java
API还带有一个.java文件,该文件显示了如何使用该库,但我看不到.jar内的代码。

我在该站点上发现了这个问题,答案之一是:“可以通过简单的方式将java类打包到jar文件中,然后在C#中使用Process类执行和映射IO流。”
我对C#中的Process类不熟悉,但是我不明白如何在C#.net项目中使用它来使用Java库。

这可能吗?还是那个答案不正确?

如果是这样,您能否解释一下如何在我的C#应用​​程序中使用.jar库。


阅读 315

收藏
2020-05-19

共1个答案

一尘不染

您可以使用IVKM.Net来完成。IVKM.NET包含一个名为ikvmc的应用程序。这是此工具的文档:

http://www.ikvm.net/userguide/ikvmc.html

要使用它,请将您的Java代码编译到Jar中。

然后运行ikvmc程序:

ikvmc myCode.jar

如果您的jar包含main()函数,它将转换为可以在CLR上运行的exe。否则它将被转换为dll。要在您的项目中使用dll,只需将它们添加为Visual
Studio中的引用,您就可以在.Net应用程序中访问Java中可用的相同API。

您还可以包括来自ikvmc的IKVM.GNU.Classpath.dll dll,并在应用程序中使用标准的Java类库。

2020-05-19