UNPKG

vox-core

Version:

Runtime de aplicaciones multiplataforma

64 lines (48 loc) 1.24 kB
var fs= require("fs") var Path= require("path") var os= require("os"); var windows=os.platform()=="win32"; var cp=require("child_process"); var path= Path.normalize(__dirname +"/../../jar/Java2All.jar"); var LprIpc= core.org.voxsoftware.Lpr.IPC var IPC= module.exports= function(args){ if(args) this.jvmargs= args LprIpc.call(this) } IPC.prototype = Object.create(LprIpc.prototype); IPC.prototype.constructor= IPC IPC.prototype.spawn= function(){ var javaPath= IPC.getJavaPath() if(!javaPath) throw new core.System.IO.FileNotFoundException("Java no está instalado. Descargue desde la página oficial el JRE o JDK") var args=this.jvmargs || [] args.push("-jar") args.push(path) return cp.spawn(javaPath, args) } IPC.getJavaPath= function(){ var path= process.env.PATH||"", f var paths= path.split(Path.delimiter) for(var i=0;i<paths.length;i++){ f=path= Path.join(paths[i], "java") if(windows){ f= path+".exe" if(fs.existsSync(f)) break f= path+".cmd" if(fs.existsSync(f)) break f= path+".bat" if(fs.existsSync(f)) break } else{ if(fs.existsSync(f)) break } f= undefined } return f } //{"nameindex": 5, "typename": "java.lang.Integer", "commandid": 4, "c": 3}