Cuando desarrollamos una aplicación de escritorio ejecutable desde Java lo que realmente estamos haciendo es un archivo empaquetado jar (JAR: Java ARchive) el cual contiene todas las clases compiladas de nuestra aplicación, algunos archivos de configuración y los demás recursos que hayamos utilizado en el proyecto y no un archivo ejecutable nativo de Windows (.exe), al tener una máquina virtual instalada y con la configuración correcta un archivo JAR podrá ejecutarse del mismo modo que lo hace un archivo EXE, con doble clic, enter, etc.
Ya sea por que el cliente lo pide o por iniciativa propia en ocasiones necesitamos evadir la distribución del JAR y reemplazarlo por un EXE nativo de Windows, para cumplir dicho objetivo existen muchas herramientas, en este artículo nos centraremos en una de ellas: Jar2Exe.
Requerimientos previos
En este tutorial voy a suponer que cuentas con lo siguiente:
- Aplicación Java empaquetada en un Jar funcionando correctamente.
- Las librerías de las que depende tu aplicación.
- Una imagen que servirá de Splash al iniciar tu aplicación (no indispensable pero sí recomendable).
- Un archivo tipo ico para el icono de tu aplicación.
Obtener Jar2Exe
Lo primero que debes hacer es descargar Jar2Exe desde su sitio oficial, para ello da clic en el siguiente enlace:
Una vez que tienes el archivo zip descomprímelo en alguna carpeta de tu equipo, posteriormente procede con la instalación.
Cabe mencionar que Jar2Exe es una utilería de paga, sin embargo, inicialmente podemos utilizarla por un periodo de 30 días.
Generar el archivo exe
Ya con Jar2Exe instalado procedemos a ejecutarlo, inicialmente te mostrará una pantalla como esta:
Das clic en siguiente para que te aparezca esta pantalla:
Aquí debes dar clic en el botón de 'Browse' para ubicar el archivo .jar que vas a convertir. Una vez que lo has elegido defines las versiones mínima y máxima del JRE requeridas para que la aplicación funcione correctamente, en mi caso seleccioné la 1.6.x_xx como mínima y 1.7.x_xx como máxima.
Por último en esta pantalla eliges para qué plataforma estarás creando el archivo ejecutable. Aquí puedes seleccionar Windows, Linux o Mac. Como lo que deseamos generar es un .exe nativo de Windows seleccionas la primera opción y das clic en 'Siguiente'.
En la siguiente pantalla deberás elegir el tipo de aplicación que se va a generar, si es una aplicación de consola, de interfaz gráfica o un servicio. En este caso selecciona la segunda opción 'Windows GUI Application' y da clic en 'Siguiente'.
Una vez hecho lo anterior aparecerá una pantalla donde deberás elegir cuál es la clase principal (clase main) de la aplicación, inicialmente la detectará de manera automática, sin embargo, si la clase que se ha detectado no es la que deseas ejecutar en primera instancia deberás elegir la correcta de la lista.
Posteriormente deberás seleccionar la imagen que servirá de splash para la aplicación dando clic en el botón de 'Browse'. Si le das clic en 'Test' podrás ver el aspecto que tendrá dicho splash.
Las últimas opciones son para indicar si se debe cerrar el splash una vez que aparezca la primera pantalla del sistema y si se define o no un título para dicho splash. En mi caso marqué ambas opciones e indiqué el título como 'Iniciando aplicación...'. Al definir lo anterior das clic en 'Siguiente'.
En la siguiente pantalla debes indicar si se agregará soporte para la bandeja del sistema (System Tray) y para el log o bitácora de eventos (Event Log). Yo no elegí ninguna de ellas por que no lo considero necesario.
Las últimas dos opciones son para agregar seguridad a nuestro código ya que nos permiten ocultar y encriptar los archivos tipo class. Puedes elegir sólo ocultarlos o ocultar y encriptar, de igual manera puedes elegir si algunos de los archivos o paquetes deberán mantenerse visibles. En mi caso seleccioné ocultar y encriptar todos los class. Una vez hecho esto da clic en 'Siguiente'.
Lo siguiente a definir serán las librerías de las cuales depende nuestra aplicación. Por ejemplo, si te conectas a base de datos de MySQL debes agregar el jar del conector, si manejas archivos de Office deberás agregar la librería POI.jar, y así sucesivamente. Generalmente dichas librerías se copian en la carpeta 'lib' (si el ejecutable lo generas desde NetBeans).
Una vez que has agregado todas las librerías de las que depende tu aplicación debes dar clic en 'Siguiente'. Al hacer esto podrás visualizar la última pantalla de configuración, en este caso deberás definir la ruta donde se creará el archivo .exe, inicialmente esta ruta estará configurada en la misma carpeta donde se localiza el jar.
Posteriormente podrás definir algunas notas de versión y la configuración interna. Aquí es donde se debe especificar el icono que identificará la aplicación.
Para establecer el icono inicialmente das clic en 'Version & Messages' para que aparezca la siguiente pantalla.
Una vez hecho esto das clic en el botón 'Add' que se encuentra en la parte superior derecha de la pantalla, al hacer esto aparecerá lo siguiente:
Lo siguiente es dar clic en 'Browse' y buscar el archivo tipo ico que servirá como icono de la aplicación.
Posteriormente lo seleccionas de la lista y das clic en 'Ok'.
Al hacer esto, en la pantalla de los datos de la versión nos aparecerá el icono que hemos elegido...
...y al dar clic en 'Aceptar' podremos verlo en la pantalla final de configuración del Jar2Exe.
Una vez hecho esto debes definir si se generará un archivo ejecutable específico para equipos de 64 bits. Si este fuera el caso debes marcar la casilla 'Create 64 bits executive', si no la marcas el archivo ejecutable funcionará igualmente para equipos de 32 y 64 bits (más info aquí). De igual manera podemos definir el estilo visual para XP si marcamos la casilla de 'XP manifest'.
Tras configurar todo lo anterior y dar clic en 'Siguiente' comenzará el proceso de creación del archivo exe, este proceso es bastante rápido, al finalizar podrás abrir la carpeta que contiene el ejecutable desde el botón 'Open folder'.
Consideraciones
- El archivo generado es una versión útil únicamente por 30 días, al finalizar este periodo no podrá ejecutarse.
- Para generar archivos sin fecha de expiración es necesario comprar alguna licencia del Jar2Exe (más info aquí).
- El equipo donde se va a ejecutar el exe debe tener alguna de las versiones de Java compatibles indicadas en la primera pantalla de configuración.
Si deseas mayor información sobre el uso de Jar2Exe te invito a que visites su sitio oficial, ahí encontrarás tutoriales y especificaciones más detalladas sobre sus características.
¿Dudas, preguntas o comentarios? Te invito a utilizar el formulario de la parte inferior del artículo para hacérmelo saber.
¿Te gustó el artículo? Te invito a que lo compartas desde los botones sociales (Twitter, Facebook, Google+) y a suscribirte al blog si aún no lo has hecho.
Gracias por la información :D
ResponderBorrarTienes cosas bien interesantes en ti blog .... :D
ResponderBorrarhola buena informacion agrego algo , el demo de 30 dias o 24 dias despues de que pasen estos dias saldra un mensaje de la aplicacion ya empaquetada seria muy feo mostrar esto a nuestro clientes o usuarios, yo compre la licencia si quieren que empaque tus archivos y pase a exe lo haria gratis escriba o enviame archivos al correo andresfelipe2288@hotmail.com con las librerias e informacion nesesaria ;)
ResponderBorrar