如何使用node.js child_process API运行jar文件?

我试图在nodejs上运行一个jar文件,但它抛出了以下错误:

Error: Unable to access jarfile /home/example/Applications/example.jar 

这是我在我的test.js中的以下代码:

 var exec = require('child_process').exec, child; child = exec('/usr/bin/java -jar ~/Applications/example.jar', function (error, stdout, stderr){ console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if(error !== null){ console.log('exec error: ' + error); } }); 

我在这个命令中运行了我的test.js和nodejs,但是收到了上面的错误:

 node test.js 

我的代码是否有任何错误? 我不确定为什么这个时候会抛出一个错误。

exec();删除.jar exec();

当使用-jar参数时,java将会find没有.jar的jar文件。 否则它喜欢..searchfilename.jar.jar

如果您在Windows命令提示符下使用它,则可以使用此代码。

 var exec = require('child_process').exec, child; child = exec('java -jar C:\\..\\..\\yourjar.jar', function (error, stdout, stderr){ console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if(error !== null){ console.log('exec error: ' + error); } }); 

不要忘记双重奴隶,否则将是一团糟。