gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:43 27 4
gpt4 key购买 nike

我正在构建一个在 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);
})

关于java - 验证是否从 Node.js 安装了 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734477/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com