node.js用spawn替换child_process.exec

时间:2018-07-17 11:56:07

标签: node.js child-process spawn

这是我以前的代码:-

const child_process = require('child_process');
child_process.exec(`java -cp ./${dirPath}bin Main`);

我试图像下面这样替换它:-

let spawn = require('child_process').spawn;
let child = spawn('java', [`-cp ./${dirPath}bin Main`]);

但我收到错误消息:-

  

“选项”参数必须是一个对象

如何使用spawn通过指定路径执行Java文件?

1 个答案:

答案 0 :(得分:0)

这在Windows的Node 10中没有错误地起作用:

let spawn = require('child_process').spawn;
let child = spawn('java', ['-version']);

当然,这段代码会丢弃所有输出。

此外,参数中有错误,因此您的代码应类似于

let spawn = require('child_process').spawn;
let child = spawn('java', ['-cp', `./${dirPath}bin`, 'Main']);