Por que converter CLASS para JAR?
Arquivos .class avulsos são inconvenientes para distribuir ou executar. Um JAR agrupa tudo em um único arquivo e, com uma entrada de manifesto, permite que os usuários iniciem o aplicativo com java -jar em vez de gerenciar classpaths e arquivos de classe individuais.
Como converter CLASS para JAR
jar (JDK) FREE
Navegue até o diretório com seus arquivos .class e execute jar cfe app.jar com.exemplo.MainClass *.class para criar um JAR executável. Omita a flag e e o argumento da classe principal para criar um JAR de biblioteca.
IntelliJ IDEA Community FREE
Vá em File > Project Structure > Artifacts, adicione um JAR de módulos com dependências, defina a classe principal e execute Build > Build Artifacts.
Eclipse IDE FREE
Clique com o botão direito no projeto, escolha Export > Java > Runnable JAR file, selecione a configuração de lançamento, defina o caminho de saída e clique em Finish.
Sobre estes formatos
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 →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 →Qualidade e o que observar
- Um JAR é um arquivo ZIP; renomeie-o para
.zippara inspecionar o conteúdo em qualquer gerenciador de arquivos compactados. O arquivoMETA-INF/MANIFEST.MFcontrola como o Java o manipula. - Sem um atributo
Main-Classno manifesto, o comandojava -jar app.jarfalha - usejar cfe(nãojar cf) para definir o ponto de entrada. - O bytecode não é alterado; o empacotamento em um JAR é puramente arquivamento e não modifica os arquivos
.class.
Perguntas frequentes
Preciso do JRE ou do JDK para criar um JAR?
jar vem com o JDK, não com o JRE.Como verifico o que há dentro de um JAR existente?
jar tf app.jar em um terminal, ou renomeie o .jar para .zip e abra-o em qualquer gerenciador de arquivos compactados.Posso adicionar arquivos de recursos (imagens, config) ao JAR?
.class no comando jar, ou use o construtor de artefatos da sua IDE para incluí-los.