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
).
- 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
- Execute a tarefa
installDist
do gradle para compilar e gerar osscripts
para execução da aplicação./gradlew installDist
- Entre no subdiretório
app/build/libs
cd app/build/libs
- 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