Como faço para criar um instalador do Windows para um arquivo java jar?

Nov 28 2020

Quero criar um instalador do Windows para meu arquivo jar. Não quero ter que instalar o jre / jdk no computador de destino no qual desejo implantar.

Experimentei o jpackage (parte do Java 14) e não funcionou para mim. Tentei o seguinte comando:

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

Ele gera um my_pkg-1.0.exe, mas não consigo executá-lo.

Neste ponto, estou disposto a experimentar até ferramentas de terceiros. Tentei install4j sem sucesso. Outro site que encontrei dizia para usar o install4j com o Inno Setup Compiler. Isso era mais complicado e também não funcionava. Achei que talvez o WiX Toolset pudesse funcionar.

Se alguém pudesse fornecer instruções passo a passo, especialmente se a solução envolver install4j, pois há muitas etapas diferentes nas quais você pode perder algo. Eu estava usando uma versão mais recente de install4j e ela não correspondia aos tutoriais e vídeos online. As seleções do menu mudaram significativamente. Talvez eu precise usar uma versão mais antiga do install4j.

Consulte meu artigo relacionado: Como faço para empacotar um arquivo java jar para ser executado em um Mac sem JRE instalado?

Respostas

1 DuncG Nov 28 2020 at 22:31

Verifique novamente se seu aplicativo é executado diretamente e corrija os problemas antes de continuar:

java -cp NtbnsProj.jar myJFrame 

Parece que jpackagefuncionou e gerou o seu instalador my_pkg-1.0.exe. Ao executar a my_pkg-1.0.exeverificação de que possui este arquivo, execute-o:

C:\Program Files\my_pkg\my_pkg.exe

Se isso falhar, execute novamente o jpackage com argumentos extras --win-console --app-version 1.1, o que será gerado my_pkg-1.1.execom o console ativado. A reinstalação e a execução C:\Program Files\my_pkg\my_pkg.exepodem relatar uma mensagem de erro útil indicando qual é o seu verdadeiro problema.

Se você não atualizar o a --app-versioncada vez, o Windows NÃO atualizará a versão 1.0 existente ou você deverá desinstalar antes de reaplicar uma reconstrução da mesma versão my_pkg-1.0.exe. Ele simplesmente funciona e para sem avisar você.

Veja esta postagem sobre como configurar o app-ver automaticamente.

macdays Dec 03 2020 at 07:31

Eu tenho que trabalhar! @DuncG foi muito útil em responder minha pergunta. Eu tinha um monte de arquivos extras no diretório onde estava o arquivo jar, então acabei de criar um novo diretório e coloquei apenas NtbnsProj.jar nele. Em seguida, executei o seguinte comando:jpackage --name Test --input . --main-jar NtbnsProj.jar