如何在Linux,Mac和Windows上从Java启动.NET应用程序?

Dav*_*man 5 .net java mono cross-platform

我想从Java环境的上下文启动.NET应用程序(与Mono兼容).

我的猜测是,我必须以某种方式弄清楚是否安装了mono,找到位置并使用.NET应用程序路径作为参数启动它.

但是这样做的有效方法是什么?或者,还有更好的方法?

也许我应该澄清一下上下文:Java部分在一个可能有限的交互环境中作为插件运行,所以我更愿意找到一种方法,而不需要配置文件或用户界面.

Osc*_*Ryz 1

如果您已经安装了 .net/mono 并且可以双击 exe 文件并运行它,那么您可以只使用Desktop.open()

一样容易:

Desktop.getDesktop().open(file);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此处:Using the Desktop API in Java SE 6 编辑

我必须启动我的 Linux 机器,其中有一个单声道应用程序,效果非常好:

class Launch { 
   public static void main( String ... arg ) { 
      new ProcessBuilder("/usr/bin/myapp").start();
   }
}
Run Code Online (Sandbox Code Playgroud)

重复一遍,效果很好!