我如何 运行 java 使用 Nodejs 命令

How can i run java command with Nodejs

我想 运行 使用 Nodejsjava 命令

这个命令在 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,并且可以 运行 在服务器上部署我的应用程序之后吗?

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

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, 我的回答只是对所提供示例的翻版