Ir al contenido principal

Crear un archivo .exe para nuestras aplicaciones en JAVA

 Crear un archivo .exe a partir de un .jar

Explicación en video

Preliminares

Tenemos que tener un archivo .jar que funcione al correrlo desde terminal con el comando:

java -jar "nombre.jar" 

Si se esta usando Maven y el jar no funciona, para arreglarlo, agregamos el siguiente bloque de código en nuesto pom.XML.

<build>
    <plugins>
        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>packageName.mainClassName</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>


Debemos cambiar los nombres de <mainClass>packageName.mainClassName</mainClass>
estos son:

1. packageName lo encontramos en nuestro archivo "main", por lo general aparece como:

package com.mycompany.aplicacion


2. el nombre de la clase que tiene el "run".



Siguiendo el ejemplo, en mi caso se vería como:

 <mainClass>com.mycompany.aplicacion.App </mainClass>


Aplicaciones necesarias.



Para que dichas aplicaciones funcionen, es necesario tener instalado un jdk y un jre

Procedimiento

Abrir Launch4j, se verá un recuadro como este.


En output file presionamos la carpeta y seleccionamos dónde guardar el .exe, le colocamos un nombre  ( debe verse así nombre.exe).

Esta dirección de "output" será importante por lo que no debemos olvidar la ruta, en mi caso, el output es "C:\Users\Daniel\Desktop\project"}



Regresando a la primera pantalla, ahora localizamos nuestro archivo .jar, presionamos el folder y luego open


En la sección header, verificamos el tipo de aplicación que usamos, si GUI o de consola



Esta es opcional, pero en Version info, podemos rellenar los campos o incluso agregar splash screens



En jre tenemos 2 opciones:

  1. Crear un archivo portable, si nuestro "cliente" no tiene conocimientos de jre y jdk, nos interesaría esta opcion
  2. Un archivo ejecutable, en este caso, suponemos que nuestro "cliente" ya tiene instalado el jre

El primer paso es sencillo, en Min JRE version, colocamos la version del JRE con el que "compilamos", para saber nuestra versión de JRE, abrimos una terminal, y escribimos java -version, nos dirá nuestra versión de JRE



En este punto, ya podemos presionar en el engranaje para crear el .exe, PERO podemos hacer algo "extra" para que incluya el jre. Si no nos interesa hacer un portable, debe saltarse a la sección "resultado".

Hacer portable mi archivo .exe

Localizamos la carpeta donde instalamos jre y la pegamos en la ruta output que mencionamos al inico, en mi caso es C:\Users\Daniel\Desktop\project, creamos una carpeta llamada "JRE" y en ella pegamos nuestra carpeta de jre1.8.0_271 (este nombre puede cambiar segun nuestra versión de JRE).


Por el momento tendremos esto.



Regresando a Launch4j, en la sección JRE escribimos lo siguiente: JRE/jre1.8.0_271, pero el numero después de jre1.8... puede cambiar según nuestra versión.

Listo, con eso, nuestro archivo .exe es completamente portable, por último presionamos en el engranaje y buscamos la ruta output que anteriormente mencionamos (en mi caso "C:\Users\Daniel\Desktop\project" y le colocamos un nombre al nuevo archivo, este nombre es para un XML, contiene nuestra información como distribuidores, yo le he colocado "info"


Resultado

Vamos a ver una pantalla como esta, nos mostrará un WARNNING, pero no hay problema, nos indica que existe la posibilidad que nuestro ejecutable sea bloqueado por algún antivirus.


Al revisar nuestra carpeta destino, veremos 3 archivos, la carpeta JRE, App e info. Y no hay más qué hacer. 

Si te interesa ver cómo crear un instalador, has click aquí. Por otro lado, si quieres saber las ventajas y desventajas de tener un archivo .exe, presiona aqui.


Espero haberte ayudado :D

Comentarios

Entradas populares de este blog

JasperReports en Maven

 Crear reportes en la aplicación jasperStudio y llamarlos desde una aplicación Maven Explicación en video En internet hay muchos tutoriales enseñando a llamar reportes desde java, pero en todos usan Ant, o son video viejos y aún no existía maven. Por eso te comparto la forma en que yo lo resolví.

RichTextBox con autocompeltado C#

Autocompletado de palabras y sugerencias Explicación en video Preliminares.     Muchos suelen mostrar autocompletados con TextBox, pero no nos sirven, queremos llenar un "area de texto" con varias lineas, Haremos uso de una extensión que   funciona como un ASP.NET

Aprende VIM en un solo blog

 Configuración y uso de VIM| NEOVIM Explicación en video Abarcaremos desde la instalación, configuración y comandos para movernos en VIM o NEOVIM, no explicaremos todo, pero estoy seguro que después de leer este resumen, podrás moverte usando una de estas aplicaciones. Por cierto, te recomiendo usar neovim, es mejor (para mí). Vim y neovim usan los mismos comandos, no importa cuál se use, se usan los comandos vistos en este blog en ambos.