Converter zip para jar

Converter ZIP para JAR

Reempacote um ZIP como um JAR, adicione metadados do Java e teste arquivos executáveis.

Converter ficheiros ZIP online

Ainda não temos um conversor online dedicado para ZIP para JAR, mas pode converter ficheiros ZIP online para estes formatos:

Quer converter ZIP para JAR?

Diga-nos. Escolhemos as próximas conversões a adicionar de acordo com o interesse.

Como converter zip para jar arquivo

  • Arquivos
Um runtime Java, mod loader ou sistema de plugins pode exigir um arquivo .jar em vez de um arquivo .zip. Como JAR usa o contêiner ZIP, o simples reempacotamento geralmente não causa perdas, mas um JAR executável também precisa de classes compiladas e de um manifest válido.

O que é o formato ZIP

ZIP é um arquivo compactado de uso geral para agrupar arquivos e pastas para downloads, compartilhamento, backups e armazenamento. Windows File Explorer, macOS Archive Utility, gerenciadores de arquivos do Linux, 7-Zip, WinZip e ferramentas de desenvolvimento criam arquivos ZIP. Um ZIP pode conter código-fonte, documentos, imagens, classes compiladas, bibliotecas ou outros arquivos, mas não exige metadados específicos do Java nem uma estrutura de diretórios específica.

O que é o formato JAR

JAR, ou Java Archive, é um arquivo baseado em ZIP para classes Java, recursos, bibliotecas e aplicações. Ele pode conter META-INF/MANIFEST.MF, diretórios de pacotes, arquivos de assinatura digital e conteúdo Java de várias versões. Um JAR executável exige uma entrada no manifest, como Main-Class: com.example.Main, permitindo sua execução com java -jar. Ferramentas Java, sistemas de build, servidores de aplicações, mod loaders e sistemas de plugins podem exigir a extensão .jar mesmo quando os arquivos subjacentes são compatíveis com ZIP.

Como criar um JAR não executável

  1. Instale um JDK para usar o comando jar ou instale um utilitário de arquivos para desktop, como o 7-Zip.
  2. Extraia o ZIP em um diretório temporário. Não coloque o ZIP original dentro do novo arquivo.
  3. Verifique o layout extraído. Se o ZIP contiver um único diretório de nível superior desnecessário, use somente o conteúdo desse diretório quando o software que receberá o arquivo esperar os arquivos na raiz do JAR.
  4. Abra um terminal no diretório pai da pasta extraída e execute jar --create --file output.jar -C extracted-folder .. Em versões mais antigas do JDK, use jar cf output.jar -C extracted-folder ..
  5. Inspecione o resultado com jar --list --file output.jar e verifique se os caminhos dos pacotes e os recursos aparecem nos locais esperados pela aplicação.

Com o 7-Zip, escolha Extract to <folder>, abra a pasta extraída, selecione seu conteúdo e escolha 7-Zip → Add to archive. Selecione ZIP como formato do arquivo e renomeie o resultado de output.zip para output.jar somente se o software de destino precisar da extensão JAR. Isso produz um JAR compatível com ZIP, mas não o torna executável nem adiciona metadados Java.

Como criar um JAR executável

  1. Compile os arquivos-fonte Java com o JDK. Um arquivo-fonte como Main.java não é executável apenas por ser colocado em um JAR.
  2. Preserve os caminhos dos pacotes: uma classe declarada como package com.example; deve estar em com/example/Main.class.
  3. Crie um arquivo de texto simples MANIFEST.MF contendo Main-Class: com.example.Main seguido por uma quebra de linha final. O valor deve indicar o nome da classe, não o nome do arquivo-fonte, e não deve incluir .class.
  4. Crie o arquivo com jar --create --file app.jar --manifest MANIFEST.MF -C extracted-folder .. Em versões mais recentes do JDK, jar --create --file app.jar --main-class com.example.Main -C extracted-folder . pode definir a entrada sem um arquivo de manifest separado.
  5. Teste-o com java -jar app.jar. Uma classe ausente, um caminho de pacote incorreto, um manifest malformado, uma dependência ausente ou um nome de main-class incorreto impedem a execução.

Para projetos Maven ou Gradle, use o build do projeto em vez de reempacotar um ZIP arbitrário: mvn package ou gradle build podem compilar classes e criar o manifest necessário. Um JAR normal não contém automaticamente dependências externas; use a configuração de assembly ou shading compatível com o projeto quando for necessário um JAR autocontido.

Ferramentas online e para desktop

O utilitário jar do JDK é a opção mais confiável porque preserva as convenções de arquivos Java e oferece suporte a manifests. O 7-Zip é adequado para reempacotamento e inspeção de arquivos não executáveis. Para uma conversão feita somente pelo navegador, um serviço de arquivos como o conversor online da Aspose pode ser usado para arquivos não confidenciais, mas verifique se a lista de formatos atual oferece explicitamente saída JAR. Não faça upload de código-fonte, bibliotecas proprietárias, chaves de assinatura, credenciais ou outros conteúdos confidenciais.

Limitações de compatibilidade

Renomear um ZIP não compila código Java, não cria um manifest, não altera os caminhos dos pacotes nem adiciona dependências. A reconstrução normalmente preserva o conteúdo dos arquivos sem perda de qualidade, embora as configurações de compactação, os carimbos de data e hora, as permissões, a criptografia e os metadados do arquivo possam mudar. A criptografia ZIP não é um requisito padrão para arquivos JAR, e uma entrada criptografada pode não sobreviver a uma reconstrução baseada no JDK.

Reempacotar um JAR assinado invalida sua assinatura porque o conteúdo do arquivo e os metadados da assinatura deixam de corresponder. Preserve a estrutura de diretórios original, inspecione o arquivo após sua criação e teste-o com a versão exata do Java e o software que receberá o arquivo.

Comparação de formato: ZIP vs JAR

Como os formatos ZIP e JAR se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo ZIP e JAR
Propriedade .ZIP ZIP archive .JAR Java Archive
Compressão Ambos Ambos
Taxa de compressão Médio Médio
Criptografia Sim Sim
Arquivos divididos Sim Não
Registro de recuperação Não Não
Suporte ao sistema operacional Amplo Amplo
Tamanho típico do arquivo Médio Médio
Padrão aberto Sim Sim
Introduzido 1989 1996
Desenvolvedor Phil Katz / PKWARE Oracle (originally Sun Microsystems)
Tipo MIME application/zip application/java-archive