vox-core
Version:
Runtime de aplicaciones multiplataforma
64 lines (48 loc) • 1.24 kB
JavaScript
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}