繁体   English   中英

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

[英]Use a .jar java library API in C#?

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

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

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

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

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

您可以使用 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 类库。

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

  1. 您可以使用 IKVM.NET - http://www.ikvm.net/userguide/ikvmc.html

    在官方网站上下载 - 您可以获得ikvmbin-7.2.4630.5 (Works up to Java 7)

    但是,在所有者的博客上,您可以下载更新的版本。 http://weblog.ikvm.net/default.aspx - 您可以获得ikvmbin-8.1.5717.0 (适用于 Java 8)

    要创建 dll/exe 使用:

    ikvmc hello.jar

  2. 另一方面,如果您可以编辑 .jar lib(您创建它),您可以使用http://jni4net.com/项目。

暂无
暂无

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

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