¿Cómo creo un instalador de Windows para un archivo jar de Java?

Nov 28 2020

Quiero crear un instalador de Windows para mi archivo jar. No quiero tener que instalar jre / jdk en la computadora de destino en la que quiero implementar.

Probé jpackage (parte de Java 14) y no funcionó para mí. Probé el siguiente comando:

jpackage --input target/ --name my_pkg --main-jar NtbnsProj.jar --main-class myJFrame --type exe --java-options '--enable-preview'

Genera un my_pkg-1.0.exe, pero no puedo hacer que se ejecute.

En este punto, estoy dispuesto a probar incluso herramientas de terceros. He intentado install4j sin éxito. Otro sitio web que encontré dijo que usaba install4j con Inno Setup Compiler. Esto fue más complicado y tampoco funcionó. Pensé que tal vez WiX Toolset podría funcionar.

Si alguien pudiera proporcionar instrucciones paso a paso, especialmente si la solución implica install4j, ya que hay muchos pasos diferentes en los que puede perderse algo. Estaba usando una versión más reciente de install4j y no coincidía con los tutoriales y videos en línea. Las selecciones del menú han cambiado significativamente. Quizás necesito usar una versión anterior de install4j.

Consulte mi artículo relacionado: ¿Cómo empaqueto un archivo jar de Java para ejecutarlo en una Mac sin JRE instalado?

Respuestas

1 DuncG Nov 28 2020 at 22:31

Verifique que su aplicación se ejecute directamente y luego solucione cualquier problema antes de continuar:

java -cp NtbnsProj.jar myJFrame 

Parece que jpackageha funcionado y ha generado su instalador my_pkg-1.0.exe. Cuando ejecute, my_pkg-1.0.execompruebe que tiene este archivo, luego ejecútelo:

C:\Program Files\my_pkg\my_pkg.exe

Si eso falla, vuelva a ejecutar jpackage con argumentos adicionales --win-console --app-version 1.1, esto se generará my_pkg-1.1.execon la consola habilitada. La reinstalación y ejecución C:\Program Files\my_pkg\my_pkg.exepuede informar un mensaje de error útil que indique cuál es su problema real.

Si no actualiza --app-versioncada vez, Windows NO actualizará la versión 1.0 existente, o debe desinstalar antes de volver a aplicar una reconstrucción de la misma versión my_pkg-1.0.exe. Simplemente funciona y se detiene sin avisarle.

Vea esta publicación sobre cómo configurar app-ver automáticamente.

macdays Dec 03 2020 at 07:31

¡Yo tengo que trabajar! @DuncG fue muy útil para responder mi pregunta. Tenía un montón de archivos adicionales en el directorio donde estaba el archivo jar, así que simplemente creé un nuevo directorio y solo puse NtbnsProj.jar en él. Luego ejecuté el siguiente comando:jpackage --name Test --input . --main-jar NtbnsProj.jar