如何在节点js应用程序中执行jar文件

时间:2017-03-15 13:36:14

标签: javascript java node.js jar

我有一个节点js应用程序,我想执行一个非常基本的jar文件,它有System.out.println("Hello");所以我需要在一个变量中捕获该结果。我们怎么做到这一点。 我试过这个

var exec = require('child_process').exec;
var child = exec('java -jar ./TestFile.jar',
function (error, stdout, stderr){
console.log('Output -> ' + stdout);
if(error !== null){
  console.log("Error -> "+error);
}
});
module.exports = child;

但它给我的错误是

Output ->
Error -> Error: Command failed: C:\windows\system32\cmd.exe /s /c "java -jar ./TestFile.jar"
no main manifest attribute, in ./TestFile.jar

有人可以帮助我们如何运行这个jar文件,以便我可以在客户端显示该结果。

1 个答案:

答案 0 :(得分:4)

您显然未在jar的清单中指定Main-Class,因此无法通过java -jar运行它。有关详细信息,请参阅here

如果没有在jar的清单中使用Main-Class条目,则需要通过

运行
java -cp ./TestFile.jar com.foo.MyMainClass