无法使用Node.js中的child_process exec调用来parsing目录path
我在做什么:
我正在用Node.js创build一个search引擎
到目前为止,我做了什么:
我用Java创build了一个testing程序,并完成了POC,无论search是否正确执行。 而且它的命令提示符工作得很好。 然后,我将程序导出到可执行的JAR文件中,并成功通过命令提示符执行该JAR文件。
现在我正试图通过Node.js给这个程序的web界面,并试图从中调用JAR文件。 到目前为止,我已经pipe理所有的视图和路由器的应用程序。 但是现在当我试图调用JAR文件使用节点subprocess面临的错误 –
stderr:'C:\ Program'不被识别为内部或外部命令,可操作的程序或batch file。
exec错误:错误:命令失败:“C:\ Program”不被识别为内部或外部命令,可操作程序或batch file。
我给错误的代码如下 –
var exec = require('child_process').exec, child; child = exec('C:\\Program Files\\Java\\jre6\\bin java -jar C:\\java\\ease.jar '+ newstr, function (error, stdout, stderr){ console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if(error !== null){ console.log('exec error: ' + error); } });
我试图search的API和谷歌也没有用,因为我无法弄清楚如何正确地给出pathstring。
使用exec时 ,第一个参数是The command to run, with space-separated arguments
。 所以,它认为要执行的可执行文件是C:\Program
因为C:\Program
之后有一个空格。 另外,看起来你可能会在bin
之后和java
之前缺less一个\
或者你不需要提供path。
以下可能工作(不确定和无法testing):
exec('"C:\\Program Files\\Java\\jre6\\bin\\java" -jar C:\\java\\ease.jar '+ newstr);