我正在为命令行应用程序做前端。它很长。命令行与此类似:
public String liveShellCommand(){
String cmd="command mode --parameter arg --parameter2 arg2 --parameter3 arg3";
Runtime run = Runtime.getRuntime() ;
Process pr ;
try {
log.progress("sending command: " +cmd);
pr = run.exec( cmd );
pr.waitFor() ;
在我将“模式”开关添加到其中之前,一切似乎都可以正常工作。“模式”开关从命令行执行。我尝试了几种组合方法,将参数拆分为既不执行也不执行的数组。我认为这与“模式”不相关,因为它前面没有,也不能有。
我究竟做错了什么?
编辑:我忘了提到我所能看到的是:调试器停止在不可编译的源代码上。我正在使用netbeans,它似乎无法打印出堆栈跟踪。它在run.exec(cmd)上停止。java出问题了吗?
我能够使用ProcessBuilder来运行它,而不仅仅是失败…
它可以很好地解析“命令”,但是当我添加“命令模式”时
java.io.IOException: Cannot run program "command mode": java.io.IOException: error=2, No such file or directory
所以我无法解析。