验证是否从Node.js安装了Java [英] Verify if Java is installed from Node.js
本文介绍了验证是否从Node.js安装了Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在构建一个在Node.js中使用Java的应用程序。我创建了一个函数来检查Java版本:
I'm building an application that uses Java inside Node.js. I made a Function to check the Java version:
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?
But for systems that Java is not installed, Node.js is throwing ENOENT error, because the module "child_process" just can't spawn the process. How can I verify if Java is installed from Node.js?
感谢您的帮助!
推荐答案
这个怎么样?
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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文