Home » Nodejs » How to run a jar file with node.js child_process API?

How to run a jar file with node.js child_process API?

Posted by: admin November 30, 2017 Leave a comment

Questions:

I tried to run a jar file on nodejs but it threw out a following error:

Error: Unable to access jarfile /home/example/Applications/example.jar

This is the following code that I have in my test.js:

var exec = require('child_process').exec, child;
child = exec('/usr/bin/java -jar ~/Applications/example.jar',
  function (error, stdout, stderr){
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if(error !== null){
      console.log('exec error: ' + error);
    }
});

I ran my test.js with nodejs in this command but received the error above:

node test.js

Is there any mistake that I made with my code? I am not sure why it is throwing an error at this point.

Answers:

remove .jar from exec();

java will find the jar file without .jar when using the -jar argument. else its like.. searching for filename.jar.jar

Questions:
Answers:

If you are using it on windows command prompt you can use this code.

var exec = require('child_process').exec, child;
child = exec('java -jar C:\..\..\yourjar.jar',
function (error, stdout, stderr){
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if(error !== null){
  console.log('exec error: ' + error);
}
});

Dont forget the double slaces or else it will be a mess.