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

2022-08-31 19:35:10

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

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

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

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

如果是这样,你能解释一下我如何在我的C#应用中使用.jar库吗?


答案 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。

您还可以包括 IKVM。角马。类路径.dll来自 ikvmc 的 dll,并在应用程序中使用标准的 java 类库。


答案 2

看看IKVM ...它具有为您提供一定程度的互操作的工具。当你说Java API时,我假设你想从jar中调用一些功能,而不仅仅是执行它。


推荐