Saltar al contenido

¿Cómo puedo convertir mi programa Java en un archivo .exe?

Te recomendamos que revises esta solución en un entorno controlado antes de enviarlo a producción, saludos.

Solución:

paquete java

La herramienta Java Packager compila, empaqueta y prepara aplicaciones Java y JavaFX para su distribución. El comando javapackager es la versión de línea de comandos.

– Documentación de Oracle

los javapackager La utilidad se envía con el JDK. Puede generar archivos .exe con el -native exe bandera, entre muchas otras cosas.

WinRun4J

WinRun4j es un lanzador de Java para Windows. Es una alternativa a javaw.exe y brinda los siguientes beneficios:

  • Utiliza un archivo INI para especificar classpath, main class, vm args, program args.
  • Nombre del ejecutable personalizado que aparece en el administrador de tareas.
  • Argumentos JVM adicionales para un uso de memoria más flexible.
  • Reemplazo de íconos incorporado para íconos personalizados.
  • [more bullet points follow]

– Página web de WinRun4J

WinRun4J es una utilidad de código abierto. Tiene muchos caracteristicas.

paqueter

Empaqueta su JAR, activos y una JVM para su distribución en Windows, Linux y Mac OS X, agregando un archivo ejecutable nativo para que parezca una aplicación nativa. Packr es más adecuado para aplicaciones GUI.

– Packr LÉAME

packr es otra herramienta de código abierto.

JSmooth

JSmooth es un contenedor ejecutable de Java. Crea lanzadores de Windows nativos (.exe estándar) para sus aplicaciones Java. Hace que la implementación de Java sea mucho más fluida y fácil de usar, ya que puede encontrar cualquier máquina virtual de Java instalada por sí mismo.

– Sitio web de JSmooth

JSmooth es de código abierto y tiene características, pero es muy antiguo. El último lanzamiento fue en 2007.

JexePack

JexePack es una herramienta de línea de comandos (excelente para secuencias de comandos automatizadas) que le permite empaquetar su aplicación Java (archivos de clase), opcionalmente junto con sus recursos (como GIF/JPG/TXT/etc), en un solo comprimido EXE de Windows de 32 bits, que se ejecuta con Java Runtime Environment de Sun. Se admiten tanto las aplicaciones de consola como las de ventana.

– Sitio web de JexePack

JexePack es un software de prueba. Se requiere pago para el uso de producción, y los archivos exe creados con esta herramienta mostrarán “recordatorios” sin pago. Además, el último lanzamiento fue en 2013.

Instalar en cualquier lugar

InstallAnywhere facilita a los desarrolladores la creación de software de instalación profesional para cualquier plataforma. Con InstallAnywhere, se adaptará rápidamente a los cambios de la industria, llegará al mercado más rápido y brindará una experiencia atractiva al cliente. Y conozca la vulnerabilidad de los componentes OSS de su proyecto antes de enviarlo.

– Sitio web de InstallAnywhere

InstallAnywhere es un paquete comercial/empresarial que genera instaladores para programas basados ​​en Java. Probablemente sea capaz de crear archivos .exe.

Archivos JAR ejecutables

Como alternativa a los archivos .exe, puede crear un archivo JAR que se ejecute automáticamente al hacer doble clic, agregando un punto de entrada al manifiesto JAR.


Para más información

Una excelente fuente de información sobre este tema es el artículo de Excelsior “Convertir Java a EXE: por qué, cuándo, cuándo no y cómo”.

Consulte también el artículo complementario “Las mejores herramientas de conversión de JAR a EXE, gratuitas y comerciales”.

lanzamiento4j

Launch4j es una herramienta multiplataforma para empaquetar aplicaciones Java distribuidas como archivos jar en ejecutables ligeros nativos de Windows. El ejecutable se puede configurar para buscar una determinada versión de JRE o usar una incluida, y es posible establecer opciones de tiempo de ejecución, como el tamaño de almacenamiento dinámico inicial/máximo. El contenedor también proporciona una mejor experiencia de usuario a través de un icono de aplicación, una pantalla de bienvenida previa a JRE nativa, un nombre de proceso personalizado y una página de descarga de Java en caso de que no se pueda encontrar el JRE adecuado.

– Sitio web de Launch4j

ACTUALIZAR: GCJ está muerto. Se eliminó oficialmente del proyecto GCC en 2016. Incluso antes de eso, estuvo prácticamente abandonado durante siete años y, en cualquier caso, nunca fue lo suficientemente completo como para servir como una implementación alternativa viable de Java.

Ve a buscar otro compilador Java AOT.

GCJ: GNU Compiler for Java puede compilar el código fuente de Java en código de máquina nativo, incluidos los ejecutables de Windows.

Aunque no todo en Java es compatible con GCJ, especialmente los componentes de la GUI (consulte ¿Qué API de Java son compatibles? ¿Qué tan completo es el soporte? pregunta de las preguntas frecuentes). No he usado mucho GCJ, pero por las pruebas limitadas que he hecho con aplicaciones de consola, parece estar bien.

Una desventaja de usar GCJ para crear un ejecutable independiente es que el tamaño del EXE resultante puede ser bastante grande. Una vez compilé una aplicación de consola trivial en GCJ y el resultado fue un ejecutable de aproximadamente 1 MB. (Puede haber formas de evitar esto que no conozco. Otra opción serían los programas de compresión ejecutables).

En términos de instaladores de código abierto, el sistema de instalación programable de Nullsoft es un instalador programable. Si tiene curiosidad, hay ejemplos aportados por usuarios sobre cómo detectar la presencia de un JRE e instalarlo automáticamente si el JRE requerido no está instalado. (Solo para hacerle saber, no he usado NSIS antes).

Para obtener más información sobre el uso de NSIS para instalar aplicaciones Java, consulte mi respuesta a la pregunta “¿Cuál es la mejor manera de distribuir aplicaciones Java?”

Puntuaciones y reseñas

Si conservas algún titubeo y disposición de ascender nuestro post te proponemos ejecutar una crónica y con gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *