在Linux上运行java的exe

时间:2017-03-06 17:21:53

标签: java

我不确定这是否可行,我想从我的java程序从命令行运行一个Windows exe应用程序 - 比如

Process process = Runtime.getRunTime().exec("myapp.exe --params");

问题是,我想运行从OS X或Linux环境中调用exe的java应用程序。

我想知道是否有人这样做过,或者对如何做到这一点有任何建议?感谢

编辑:感谢您的回复。我确实想补充一点,我可能不想使用wine来运行exe,并且可能想要在exe文件周围创建一些类型的包装器来直接从java调用dll中的函数。我之前没有这样做过,并且想知道是否有任何指示。

1 个答案:

答案 0 :(得分:7)

exe个文件具有特定的Windows格式,称为Portable Executable (PE)。它与Linux用于可执行文件的格式不兼容,更不用说两个系统之间系统调用的差异。

您无法在Linux上运行exe文件,无论它是否从Java运行。

如果你真的需要它,你有两个选择:

  • WINE(或类似工具)的形式使用适用于Linux的Windows兼容性层
  • 重新编译您的Linux for Linux