Vamos neste post concluir nossa aplicação! Fizemos até agora, toda a construção da GUI, bem como a parte Lógica, e agora, focaremos na distribuição. Afinal, imagine, enviar seu código Java à um amigo, e ter que pedir que ele recompile e/ou reexecute todas as vezes que queira abrir a Calculadora... hum, não parece muito interessante, não é mesmo? Pois bem, há uma solução! E isso veremos neste post! Preparado?
A resolução:
Com nosso arquivo-fonte salvo, acessamos via interpretador de comandos o diretório, onde este se encontra e compilamos-o, como já visto no post anterior.
Agora, para criarmos a versão distribuível deste programa, devemos criar inicialmente um arquivo manifesto. Este nada mais é, que um arquivo de metadados, onde é informado ao programa (JAR), os dados da aplicação, tais como nome, versão, licença, entre outros.
Para nossa aplicação, dois metadados essencialmente são requeridos, a saber, o header Main-Class, que indica ao programa, qual é a classe que inicia a aplicação, isto é, a classe onde se encontra o método main.
Nota: Em um programa Java só pode haver uma Main-Class!
E o Class-Path, cujo value receberá o relative path da dependência que utilizamos. Compreendido isto, sigamos:
1. Criando o arquivo manifesto:
Em ambiente Linux:
touch MANIFEST.MF
Em Windows:
NUL> MANIFEST.MF
2. Em um editor de texto, abrindo o arquivo manifesto criado e incluindo nele os headers, conforme:
Main-Class: Calculadora
Class-Path: lib/file-name.jar
Nota: Deixemos obrigatoriamente uma linha extra (vazia) ao fim do nosso arquivo manifesto.
Substituímos file-name pelo nome da nossa dependência e por fim, salvamos e fechamos o arquivo.
Para enriquecer ainda mais a compreensão sobre o Manifest File, lhes indico a leitura: Working with Manifest Files: The Basics (The Java Tutorials).
3. Agora compactamos tudo em um arquivo JAR (distribuível), utilizando a sintaxe: jar options jar-file [manifest-file] class-file [dependency-file]
Atentamos em substituir novamente file-name pelo nome adequado no comando abaixo:
Em ambiente Linux:
jar cvfm Calculadora.jar MANIFEST.MF Calculadora.class lib/file-name.jar
Em Windows:
jar cvfm Calculadora.jar MANIFEST.MF Calculadora.class lib\file-name.jar
Este comando criará um novo arquivo JAR de nome Calculadora, que conterá todos os arquivos necessários para a "execução" do programa. Este arquivo poderá ser então distribuído, considerando que quem o for abrir, ainda precisará (ao menos) de uma JRE instalada no computador.
Depois de criar o JAR, basta executarmos o comando abaixo para abrí-lo, ou simplesmente, clicar sobre ele.
java -jar Calculadora.jar
No Linux para abrir o JAR pelo clique é necessário uma habilitação. Para tal façam:
- Clique com o botão direito do mouse sobre o JAR
- Clique em Propriedades
- Clique na aba Permissões
- Marque a opção Permitir execução do arquivo como um programa
Com isto feito, finalizamos esta resolução! Se gostaram, por favor, deixem seus COMENTÁRIOS, nos SIGAM e principalmente COMPARTILHEM para que assim, seja possível alcançar mais pessoas, que como vocês, curtem Programação, com conteúdos PRÁTICOS e GRATUITOS!
Para ver e/ou baixar o código-fonte desta resolução, ou mesmo melhorá-lo, visitem o repositório no GitHub.
Figura 1 - Calculadora Demo
Fonte: Autor (CC BY-NC-SA 4.0)
Até a próxima!
Cite este material
FERNANDES, Fábio. Desenvolvendo uma calculadora III: distribuição (desktop app). aprendaCodar, 09 de junho de 2022. Disponível em: <https://aprendacodar.blogspot.com/2022/06/desenvolva-uma-calculadora-desktop-app_9.html>. Acesso em: