Por que converter JAR para CLASS?
Um JAR (Java Archive) é um contêiner ZIP que contém arquivos .class compilados, organizados pelo nome do pacote Java. Os desenvolvedores extraem classes individuais para inspecionar o bytecode, corrigir um único arquivo sem reempacotar todo o arquivo, adicioná-los manualmente a um classpath ou alimentá-los em um descompilador para verificar qual versão de uma biblioteca eles realmente possuem.
Como converter JAR para CLASS
7-Zip FREE
Clique com o botão direito no .jar e escolha 7-Zip > Abrir arquivo, depois extraia os arquivos .class necessários de seus subdiretórios de pacotes.
jar (JDK) FREE
Execute jar xf app.jar em um terminal para extrair todo o conteúdo; os arquivos .class aparecem em seus subdiretórios de pacotes Java.
Sobre estes formatos
Um arquivo JAR é um Java Archive - um pacote ZIP de bytecode Java compilado (arquivos .class), recursos e um manifesto. Para executar um JAR executável, você precisa do Java instalado…
Abrir detalhes de .JAR →Um arquivo CLASS é um bytecode Java compilado - o resultado que o javac produz a partir de um arquivo fonte .java. Para executá-lo, você precisa do Java (um JDK) instalado e usar o comando…
Abrir detalhes de .CLASS →Qualidade e o que observar
- Um
.jaré um arquivo ZIP padrão - a extensão é a única diferença; renomeá-lo para.zippermite que qualquer ferramenta de arquivamento o abra sem software extra. - Arquivos .class contêm bytecode Java compilado, não código legível por humanos; para ler a lógica, passe os arquivos por um descompilador como o JD-GUI ou CFR - a saída descompilada é uma aproximação.
- A estrutura de pastas interna espelha os nomes dos pacotes Java (ex:
com/example/App.class); os arquivos extraídos ficam em seus subdiretórios de pacotes.
Perguntas frequentes
Preciso instalar algo para extrair arquivos .class de um JAR?
.jar para .zip e abra-o no Windows Explorer ou macOS Finder; os arquivos .class estão dentro e podem ser copiados diretamente.Posso ler a lógica dentro de um arquivo .class?
.class são bytecode compilado; execute-os através do JD-GUI ou CFR para obter um código-fonte Java aproximado.Extrair arquivos .class é o mesmo que descompilar?
.class brutos; a descompilação é uma etapa posterior que tenta reconstruir o código-fonte Java legível a partir desses arquivos.