¿Cómo creo un instalador de Windows para un archivo jar de Java?
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
Verifique que su aplicación se ejecute directamente y luego solucione cualquier problema antes de continuar:
java -cp NtbnsProj.jar myJFrame
Parece que jpackage
ha funcionado y ha generado su instalador my_pkg-1.0.exe
. Cuando ejecute, my_pkg-1.0.exe
compruebe 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.exe
con la consola habilitada. La reinstalación y ejecución C:\Program Files\my_pkg\my_pkg.exe
puede informar un mensaje de error útil que indique cuál es su problema real.
Si no actualiza --app-version
cada 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.
¡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