【问题标题】:How can i run java command with Nodejs如何使用 Nodejs 运行 java 命令
【发布时间】:2019-10-15 21:05:58
【问题描述】:

我想用 Nodejs 运行 java 命令

此命令适用于我的 bat 文件

"C:\Program Files\Java\jdk1.8.0_121\bin\java.exe" -Xmx1024m -XX:+UseParallelGC -Dfile.encoding=UTF-8  -classpath "<path>\app\netlogo-6.1.1.jar" org.nlogo.headless.Main  --model modelname.nlogo --setup-file setup.xml --experiment experiment1 --table table-output.csv

如何使用 Nodejs 运行此命令? 我是否必须使用 Node child_process,并且可以在将我的应用程序部署到服务器后运行它?

【问题讨论】:

标签: java node.js command


【解决方案1】:

如果您希望它在主应用程序中异步执行:

const { exec } = require('child_process');
exec('YOUR COMMAND HERE', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.error(`stderr: ${stderr}`);
});

或使用将通过事件发射器向主应用程序报告的子进程:

const { spawn } = require('child_process');
const YOUR_COMMAND = spawn('YOUR_COMMAND', ['--arg1', 'value1', '--arg2', 'value2']);

YOUR_COMMAND.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

YOUR_COMMAND.stderr.on('data', (data) => {
  console.error(`stderr: ${data}`);
});

YOUR_COMMAND.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

但这是你应该去的地方:https://nodejs.org/api/child_process.html, 我的答案只是对提供的示例的翻新

【讨论】:

    猜你喜欢
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2011-09-15
    • 2015-04-04
    相关资源
    最近更新 更多