在C#应用程序中运行Java(.jar)应用程序

在C#应用程序中运行Java(.jar)应用程序,c#,java,C#,Java,可能重复: 我有一个jar文件,我想在C应用程序中运行,是否还有其他方法可以这样做?您可以使用 从页面: 在.NET应用程序中使用Java库 NET包括ikvmc,一个Java字节码到.NET IL转换器。如果您想在.NET应用程序中使用Java库,请运行ikvmc-target:library mylib.jar来创建mylib.dll 例如,ApacheFop项目是一个用Java编写的开源XSL-FO处理器,广泛用于从XML源生成PDF文档。借助IKVM.NET技术,任何.NET应用程序都

可能重复:

我有一个jar文件,我想在C应用程序中运行,是否还有其他方法可以这样做?

您可以使用

从页面:

在.NET应用程序中使用Java库

NET包括ikvmc,一个Java字节码到.NET IL转换器。如果您想在.NET应用程序中使用Java库,请运行ikvmc-target:library mylib.jar来创建mylib.dll

例如,ApacheFop项目是一个用Java编写的开源XSL-FO处理器,广泛用于从XML源生成PDF文档。借助IKVM.NET技术,任何.NET应用程序都可以使用Apache FOP

您可以使用编译器从此
.jar
生成.NET程序集:

ikvmc.exe -target:library -out:Foo.dll Foo.jar
这将生成
Foo.dll
。从现在起,您知道如何处理托管的
Foo.dll
程序集。

使用以下行:

System.Diagnostics.Process.Start(“java-jarfilename.jar”)

如果您希望这些java和c#相互交互,请使用共享文件或套接字编程


注意,您需要在ur系统中配置java

op说他想运行.jar文件,而不是将其用作库。@Marcelo,你怎么会认为.jar包含
main
方法?当然,如果是这种情况,OP可以阅读我在回答中链接到的文章的文档,然后使用
ikvmc.exe-target:exe-out:Foo.exe Foo.jar
,然后运行
Foo.exe
。OP说他想运行.jar文件,而不是将其用作库。