我有一个节点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文件,以便我可以在客户端显示该结果。

最佳答案

您显然没有在jar清单中指定Main-Class,因此无法通过java -jar运行它。有关更多信息,请参见here

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

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

关于javascript - 如何在Node JS应用程序中执行jar文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42811398/

10-16 20:49