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がインストールされていないシステムの場合、モジュール「child_process」はプロセスを生成できないため、Node.jsはENOENTエラーをスローします。Javaが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);
})
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加