Executar ficheiros jar: instruções simples

by Mike

A execução de um ficheiro jar é um processo simples que requer apenas um Java Runtime Environment (JRE) funcional.

O que são arquivos JAR e como executa funciona

Um ficheiro JAR (Java ARchive) é um formato de arquivo baseado em ZIP e desenvolvido especificamente para Java. Ele agrupa classes Java, recursos como imagens ou ficheiros de configuração, metadados e, frequentemente, um ficheiro manifesto (META-INF/MANIFEST.MF).

  • Ao contrário dos arquivos ZIP convencionais, os arquivos Jar são concebidos para agrupar aplicações ou bibliotecas Java num único arquivo. Isso simplifica consideravelmente a distribuição e a utilização dessas aplicações.
  • Para que um ficheiro Jar possa ser iniciado diretamente, ele deve conter uma chamada Main-Class no manifesto. Esta entrada aponta para a classe principal da aplicação. Se estiver presente, o ficheiro pode ser iniciado através da linha de comando, digitando o comando java -jar nome do ficheiro.jar.
  • Nem todos os ficheiros Jar são aplicações independentes – muitos servem como bibliotecas utilizadas noutros projetos.
  • Os ficheiros Jar também são compactados, o que os torna geralmente menores do que a soma dos seus ficheiros individuais. Podem ser assinados digitalmente para garantir a integridade e autenticidade do conteúdo. As versões mais recentes do Java também suportam os chamados JARs modulares ou multi-release, que contêm classes para diferentes versões do Java.

Instalação do Java Runtime (JRE / JDK) no Windows, macOS e Linux

Para que os ficheiros Jar possam ser executados no seu sistema, é necessário um ambiente Java Runtime. Neste capítulo, irá aprender como instalar o Java e o que deve ter em atenção nas versões.

  • Para iniciar um ficheiro Jar, necessita, no mínimo, de um ambiente Java Runtime (JRE). Atualmente, este está geralmente incluído no Java Development Kit (JDK). Dependendo da aplicação, pode ser necessária uma versão específica – frequentemente Java 8, 11, 17 ou mais recente.
  • Versões de suporte de longo prazo (LTS), como Java 11 ou Java 17, são especialmente recomendadas, pois são mantidas por muitos anos. Certifique-se de que a versão Java é compatível com a sua aplicação, pois programas mais antigos podem ser incompatíveis com versões mais recentes.
  • Instalação no Windows: Descarregue a versão Java mais recente do site oficial da Oracle ou de uma distribuição OpenJDK (por exemplo, Azul Zulu ou Eclipse Temurin). Selecione o ficheiro de instalação adequado para o seu sistema (geralmente 64 bits) e execute o instalador.
  • Após a instalação, pode ser necessário adicionar a pasta «bin» da instalação Java à variável de ambiente PATH. Em seguida, abra o prompt de comando e verifique se o Java foi instalado corretamente com o comando java –version.
  • Instalação no macOS: Descarregue o ficheiro de instalação (DMG ou PKG) da Oracle ou de uma página OpenJDK e siga o assistente de instalação. Opcionalmente, pode definir as variáveis de ambiente Java com os comandos export JAVA_HOME=$(/usr/libexec/java_home) e export PATH=$JAVA_HOME/bin:$PATH no seu shell (por exemplo, zsh).
  • No macOS, o Java também pode ser instalado facilmente através do Homebrew, digitando no terminal: brew install java
  • Instalação no Linux (por exemplo, Ubuntu ou Debian): Muitas distribuições Linux já oferecem o Java em seus repositórios de pacotes. Verifique se o Java está instalado com java –version. Caso contrário, pode instalar um ambiente de execução atualizado com, por exemplo, sudo apt install openjdk-17-jre. Em alternativa, o JDK também pode ser descarregado manualmente do site do OpenJDK e configurado.

    Segurança e resolução de problemas ao executar ficheiros JAR

    Os ficheiros JAR são práticos, mas também apresentam certos riscos. A seguir, você aprenderá como executar ficheiros JAR com segurança e o que fazer em caso de mensagens de erro ou problemas.

    • Instruções de segurança: Execute apenas ficheiros JAR de fontes confiáveis. Ficheiros de fontes desconhecidas ou não seguras podem conter códigos maliciosos que colocam o seu sistema em risco. Desenvolvedores sérios geralmente fornecem somas de verificação ou assinaturas digitais que permitem verificar a autenticidade de um ficheiro JAR.
    • Se pretender examinar um ficheiro Jar mais detalhadamente, pode abri-lo ou descompactá-lo com programas ZIP comuns. Ferramentas especiais, como o «OWASP Dependency-Check», também ajudam a identificar vulnerabilidades conhecidas nas bibliotecas incluídas. Para máxima segurança, recomenda-se testar primeiro ficheiros Jar desconhecidos numa máquina virtual ou num ambiente isolado.
    • Resolução de problemas (troubleshooting): Se um ficheiro Jar não iniciar, geralmente há um motivo claro. As causas mais comuns são:
    • Entrada da classe principal ausente: Nesse caso, geralmente aparece a mensagem «no main manifest attribute». O manifesto deve então ser ajustado manualmente ou o JAR deve ser recriado.
    • Dependências em falta: Se ocorrer uma «ClassNotFoundException» ou «NoClassDefFoundError» ao iniciar, muitas vezes faltam bibliotecas adicionais. Estas devem ser incluídas no caminho da classe ou integradas corretamente.
    • Versão Java incompatível: Uma aplicação compilada com Java 17 pode não funcionar com Java 8. Verifique qual versão a aplicação requer e ajuste o seu tempo de execução de acordo.
    • Erro no manifesto: O conteúdo do manifesto pode ser visualizado com o comando jar xf nome do ficheiro.jar META-INF/MANIFEST.MF

      e, em seguida, cat META-INF/MANIFEST.MF . Lá devem existir entradas como «Main-Class» e «Class-Path».

    • Leia as mensagens de erro com atenção – elas geralmente contêm informações valiosas sobre ficheiros em falta ou caminhos incorretos.

    Exemplos práticos e ferramentas úteis

    Para concluir, aqui estão alguns exemplos práticos e ferramentas que facilitarão o seu dia a dia ao lidar com ficheiros jar.

    • Exemplo para iniciar uma aplicação: Se o seu ficheiro se chama «minhaApp.jar» e contém uma classe principal executável, inicie-o com o comando java -jar minhaApp.jar
    • Se forem necessárias bibliotecas adicionais, que se encontram numa subpasta «lib», a aplicação pode ser iniciada com o caminho da classe, por exemplo: java -cp “minhaApp.jar:lib/*” com.exemplo.classe principal
    • Abrir ou descompactar ficheiros jar: Como os ficheiros jar são compatíveis com ZIP, eles podem ser descompactados com programas comuns, como 7-Zip, WinRAR ou através da linha de comando. No Linux ou macOS, isso funciona, por exemplo, com unzip nome do ficheiro.jar -d pasta de destino ou, para apenas visualizar o conteúdo, com jar tf nome do ficheiro.jar
    • Ferramentas de análise e segurança: Para verificar a segurança, pode utilizar ferramentas como o «OWASP Dependency-Check». Isso permite analisar dependências dentro de um ficheiro Jar e identificar vulnerabilidades conhecidas.
    • Casos de uso típicos: Os ficheiros Jar são usados em muitas áreas – desde programas de desktop e bibliotecas até aplicações de servidor ou nuvem. Eles são especialmente práticos quando se deseja distribuir uma aplicação Java de forma compacta ou agrupar vários módulos num único ficheiro.
     

    Related Articles

    Leave a Comment