Archivo de la etiqueta: Ejecutable

Java: Crear un ejecutable para tu aplicación.

En ocasiones, aunque JAVA tenga carácter multiplataforma es posible que necesitemos crear un Ejecutable para Windows, un .exe, para nuestra aplicación JAVA.

Sea por exigencia de nuestro cliente, o por el mero hecho de querer hacer una distribución estándar para un entorno Windows.

El programa que vamos a utilizar se llama JSmooth, y es un programa gratuito que teneis disponible en Sourceforge.net, y en su página teneis disponibles manuales en HTML y PDF,.

En primer lugar, debemos de descargarnos el programa e instalarlo en nuestra máquina. Tras ello lo ejecutamos y llegamos a la primera página:

Skeleton.

Pincharemos sobre los iconos de la izquierda para ir a ‘Skeleton‘, donde debemos de indicar para qué tipo de aplicación queremos crear un ejecutable, teniendo para ello un desplegable con varias opciones. Cada opción, una vez seleccionada, cuenta con una descripción del tipo de aplicación.
En nuestro caso, seleccionamos el tipo ‘Windowed Wrapper‘ que es el que más se ajusta a la aplicación Swing que tenemos.

En la parte inferior de la pantalla, vemos algunas opciones. La primera de ellas es el mensaje que queremos que se muestre cuando no se pueda encontrar un JDK instalado en la máquina cliente. Asociada a esta primera, la opción url nos permite indicar a qué url llevar al usuario si selecciona descargar un JDK.
Por defecto la url es la que SUN tiene para JAVA con la descarga directa del último JDK o JRE.

La siguente opción es si queremos que el proceso JAVA, que se lanzará para nuestra aplicación, se ejecute dentro del proceso .exe o como un proceso aparte. En nuestro caso seleccionamos que lo lance dentro del .exe.

A continuación, tenemos la opción ‘Single Instance‘, que nos servirá para indicar si queremos o no que solo se permita una instancia de nuestra aplicación ejecutándose a la vez. La marcamos porque nos interesa que solo se permita una instancia.

Las dos siguientes son propias del JSmooth, y en nuestro caso no nos interesan.

Executable.

Pasamos al siguiente paso pulsando sobre ‘Executable‘.

Aquí, le indicamos el nombre del .exe (y en qué directorio nos lo generará) que querremos que tenga nuestra aplicación.
Le podremos asociar un icono al ejecutable, y decirle cuál será el directorio de trabajo de la aplicación una vez lanzada. Le asociamos un icono, y dejamos el campo en blanco para no obligar a nuestra aplicación a tener un directorio de trabajo pre-fijado.

Application.

Pasamos al siguente paso pulsando sobre el icono ‘Application‘, y en la siguiente pantalla pasamos a configurar la clase principal de nuestra aplicación y los distintos argumentos que podemos pasarle a la misma, o a la Máquina Virtual de JAVA.

Para seleccionar la ‘Main Class‘, primero cargaremos en la sección Classpath el fichero .jar que contiene nuestra aplicación, y luego pulsaremos sobre el botón a la derecha del campo […] para seleccionar entre todas las clases del JAR la que nos interesa.

Si no tenemos argumentos que pasar a nuestra aplicación, dejamos el siguiente campo en blanco.

También podemos elegir que se incluya un JAR dentro del .exe, que será extraido al directorio de trabajo cuando lancemos la aplicación.

Y en Classpath incluiremos todos los .jar que necesite nuestra aplicación (en la siguiente entrega veremos cómo distribuirlos con el instalador).

JVM Selection.

Pasamos a la siguiente sección, y aquí podemos indicar cuál es la versión mínima, y máxima, con la que se puede ejecutar nuestra aplicación. En nuestro caso, he puesto como mínima la 1.5, y como máxima la 1.6.

Podemos indicar, si así lo queremos, que se use un JRE (Java Runtime Environment) que se distribuya con nuestra aplicación.
Aquí, lo que he hecho ha sido copiar el directorio jre del JDK que estoy usando al directorio donde voy a tener el .exe, y referenciarlo con ‘./jre’, para que lo busque más adelante en el directorio de trabajo.

La siguiente opción sirve para ordenar cómo se buscará un JRE en el sistema donde se intente ejecutar la aplicación. En nuestro caso lo dejamos tal cuál.

JVM Configuration.

Y llegamos a la última sección, donde indicaremos algunas opciones para la máquina virtual de JAVA.

Las primeras, la memoria máxima y mínima que usará la aplicación en el cliente.

Y en el cuadro inferior podremos introducir más opciones mediante la introducción de pares ‘Clave-Valor’.

Build.

Una vez hecho esto, podremos pulsar sobre el icono de la rueda dentada para que se compile el proyecto y nos genere el .exe de nuestra aplicación.