<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5078236\x26blogName\x3dSoloJava+Noticias\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://solojava.blogspot.com/search\x26blogLocale\x3des_ES\x26v\x3d2\x26homepageUrl\x3dhttp://solojava.blogspot.com/\x26vt\x3d1431656211189939993', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script>

SoloJava Noticias

Lo mejor del mundo IT con o sin Java

Java launcher para Windows

Si han desarrollado aplicaciones clientes ya sea basadas en Swing, AWT o SWT, habrán experimentado los problemas de intergración típicos de Java con un sistema operativo Windows. Hoy les hablaré sobre uno de ellos: java.exe y javaw.exe

Estos dos programas son los utilizados para iniciar el JVM en Windows, el primero para ejecutar programas que requieran de una consola abierta para mostrarle al usuario información; y que no tienen interfaz gráfica de usuario (GUI) alguna, y el segundo es para esos casos donde queremos ejecutar una aplicación con GUI sin mostrar una ventana de consola. Lo incómodo del uso de javaw.exe es la necesidad de invocarlo con parámetros para poder iniciar una aplicación, en el caso más sencillo podría ser algo de esta manera:
javaw -jar mijar.jar
Muchas personas recurren a crear archivos batch (.bat o .cmd) para facilitar este trabajo al usuario, pero esta no es una solución muy elegante ya que se pueden presentar problemas cuando el usuario desinstala el JVM para actualizarlo, dejando al .bat inconsistente. Otro de las inconvenientes de ejecutar javaw.exe directamente es que si se ejecuta más de una aplicación Java, se verán más de un javaw.exe en la lista de procesos, sin poder identificar cual es cual.

Existen muchas herramientas comerciales y open source para corregir estos detalles. Una de ellas es Janel. Con esta herramienta solo hace falta copiar un archivo exe y crear un archivo .lap con la definición de como iniciar nuestra aplicación. Para una aplicación básica tendría la siguiente estructura:
app.exe
app.lap
lib/mijar.jar
El archivo app.exe es el ejecutable de Janel renombrado de acuerdo a nuestro gusto.

El archivo app.lap tendría el siguiente contenido
janel.main.class=com.test.MiClase
janel.min.java.version=1.4.2
janel.classpath.jars.dir=lib
De esta manera Janel buscará automáticamente un JVM que cumpla con el mínimo requerido, en este ejemplo 1.4.2, colocará en el classpath a los jars ubicados en el directorio lib y ejecutará el método main de la clase com.test.MiClase.

En la documentación de Janel encontrarán muchas otras opciones para refinar más la ejecución del programa.
« Home | Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »
| Next »

» Publicar un comentario