javascript - 如何在 Node js 应用程序中执行 jar 文件

标签 javascript java node.js jar

我有一个 Node 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 的 list 中指定 Main-Class,因此您无法通过 java -jar 运行它。参见 here了解更多信息。

如果你的 jar list 中没有使用 Main-Class 条目,你需要通过

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

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

相关文章:

javascript - 交换同一位置的单独 div 中的可拖动项目

java - Java嵌套数组在内存中是如何实现的?

java - Kafka消费者没有回应

node.js - 纽约 + Mocha + es6 模块

node.js - 无法使用 npm start 启动 Node 站点

mysql - 设置 Docker MySql 数据库并将其连接到 BE

javascript - 我的过滤器函数没有在 javascript 中使用 & 注册任何内容

javascript - indexOf 不是函数,无法在数组中找到元素的索引

javascript - jQuery - 滚动到具有动态类的元素

java - 网络应用程序如何连续轮询队列?还是必须是另一项服务?