Desenvolvendo uma calculadora III: distribuição (desktop app)

Desenvolvendo uma calculadora III: distribuição (desktop app)
logo Java logo exp4j

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:

  1. Clique com o botão direito do mouse sobre o JAR
  2. Clique em Propriedades
  3. Clique na aba Permissões
  4. 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.

Calculadora Demo

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:

Fábio Fernandes

Graduado em Ciência da Computação e Especialista em Análise de Dados com BI e Big Data. Instrutor, Desenvolvedor e Produtor de Conteúdo. Apaixonado por Tecnologia e pelo compartilhamento de conhecimentos.

Postar um comentário (0)
Postagem Anterior Próxima Postagem