Таким образом, у меня в настоящее время есть приложение Nodejs, которое порождает дочерний процесс, который выполняет приложение Java, и это работает очень хорошо, когда запускается непосредственно из командной строки.
http.createServer(function (request, response) {
console.log('Started Executing Request! \n' );
const { exec } = require('child_process');
exec('"C:\\Program Files\\Java\\jdk1.8.0_172\\bin\\java.exe" -jar "C:\\Temp\\myjava.jar"', (err, stdout, stderr) => {
if (err) {
console.log('There was an error! ' + err);
// node couldn't execute the command
return;
}
// the *entire* stdout and stderr (buffered)
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
});
console.log('Finished Executing Request! \n' );
}).listen(8087);
// Console will print the message
console.log('Server running at http://127.0.0.1:8087/ \n');
Проблема, с которой я столкнулся, заключается в том, что когда я помещаю это в службу, кажется, что он не хочет запускать Java-приложение. У меня есть вывод в файл журнала, и у меня есть "Запущенный запрос на выполнение" и "Законченный запрос на выполнение!" в журнале, но Java не выполняется.