从Java运行cygwin编译的程序

时间:2013-03-25 17:10:08

标签: java cygwin

我使用cygwin构建了一个.exe。它被称为ms.exe。我试图使用ProcessBuilder从java运行它。我之前使用过ProcessBuilder来捕获它的输出。

在命令窗口(cmd.exe)上,如果我运行ms.exe [ms-params]> output.txt的。然后输出包含

  

/cygdrive/c/my-path-to-ms.exe [msparams]

     
    

[节目输出]

  

在命令窗口中,如果我没有传递任何重定向,即> output.txt,然后输出只包含[程序输出]。

请注意,我的PATH env变量下有%CYGWIN_HOME%/ bin。

使用ms.exe调用ProcessBuilder结束(没有任何异常)但作为输出我只得到

  

/cygdrive/c/my-path-to-ms.exe [msparams]

1 个答案:

答案 0 :(得分:0)

使用ProcessBuilder("cmd.exe","/C","entire-exe-path-with-arguments")运行可执行文件。

我有另一个可用作ProcessBuilder("exe-path","arg1","arg2"..)的可执行文件。

我不确定为什么前一个版本只能在cmd下运行。

两者都是使用cygwin构建的。我已经尝试将cygwin1.dll放在工作目录中而没有任何影响。

相关问题