我是入门级程序员,所以请在您的回复中说明一下。
我正在尝试使用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类库。