验证是否从Node.js安装了Java

我正在构建在Node.js中使用Java的应用程序。我做了一个检查Java版本的函数:

function javaversion() {

var spawn = require('child_process').spawn('java', ['-version']);

spawn.stderr.on('data', function(data) {

data = data.toString().split('\n')[0];

var javaVersion = new RegExp('java version').test(data) ? data.split(' ')[2].replace(/"/g, '') : false;

if (javaVersion != false) {

// TODO: We have Java installed

} else {

// TODO: No Java installed

}

});

}

但是对于未安装Java的系统,Node.js抛出ENOENT错误,因为模块“

child_process”无法生成该进程。如何验证是否从Node.js安装了Java?

我感谢您的帮助!

回答:

那这个呢?

function javaversion(callback) {

var spawn = require('child_process').spawn('java', ['-version']);

spawn.on('error', function(err){

return callback(err, null);

})

spawn.stderr.on('data', function(data) {

data = data.toString().split('\n')[0];

var javaVersion = new RegExp('java version').test(data) ? data.split(' ')[2].replace(/"/g, '') : false;

if (javaVersion != false) {

// TODO: We have Java installed

return callback(null, javaVersion);

} else {

// TODO: No Java installed

}

});

}

javaversion(function(err,version){

console.log("Version is " + version);

})

以上是 验证是否从Node.js安装了Java 的全部内容, 来源链接: utcz.com/qa/405896.html

回到顶部