Empacotando aplicações Java

O JDK vem com uma ferramenta chamada jpackage que permite empacotar aplicações Java para facilitar sua distribuição e instalação em outros computadores. A ferramenta gera instaladores para os sistemas operacionais Linux, macOS e Windows.

Na documentação oficial são apresentados os passos para preparar uma aplicação, além de personalizações como definição de ícone da aplicação, etc.

Com o jpackage a aplicação é empacotada juntamente com ambiente de execução Java (JRE, Java Runtime Environment), permitindo assim que possa ser executada em computadores que não tenham um JRE instalado.

Abaixo são apresentados os passos para criar uma aplicação Java com o gradle e depois como empacota-la usando jpackage no sistema operacional Ubuntu Linux. Como resultado será gerado um arquivo .deb contendo a aplicação.

Se o jpackage for executado no Windows, então será gerado um arquivo .exe ou .msi. Se for executado no macOS, então será gerado um arquivo .dmg. Se for executado em Linux que faça uso de pacotes RPM, então será gerado um arquivo .rpm. Enfim, a aplicação será empacotada de acordo com o sistema operacional onde está sendo executado o jpackage.

Criando e empacotando uma aplicação Java

Antes de mais nada, é necessário que tenha instalado o pacote fakeroot no Ubuntu (i.e. sudo apt install fakeroot).

  1. Crie uma aplicação Java com gradle. Quando perguntado sobre o nome do projeto e sobre o nome pacote Java, informe apenas teste
    gradle init
    
  2. Execute a tarefa installDist do gradle para compilar e gerar os scripts para execução da aplicação
    ./gradlew installDist
    
  3. Entre no subdiretório app/build/libs
    cd app/build/libs
    
  4. Empacote a aplicação com o jpackage
    jpackage --name Teste --input . --main-jar app.jar --main-class teste.App --type deb
    

Pronto! O jpackage gerou um arquivo .deb (i.e. com o nome teste_1.0-1_amd64.deb) contendo sua aplicação juntamente com o ambiente de execução Java.

Instalando a aplicação no Ubuntu Linux

Você instalar o .deb da maneira que mais lhe agradar. Por exemplo, com o comando dpkg você pode fazer assim:

dpkg -i teste_1.0-1_amd64.deb

Executando a aplicação

A aplicação foi instalada no diretório /opt. Você pode executá-la por meio do comando:

/opt/teste/bin/Teste
Anterior