Erro estranho de MANIFEST.MF / Faça correto

0 respostas
Vingdel

Olá pessoal!

Seguinte, reparei uma coisa estranha na hora em que estive criando o JAR para minha aplicação.

Acontece o seguinte, tenho os arquivos Classe.class, Classe$1.class e Classe$2.class além do MANIFEST.txt, no diretório C:/.

Meu MANIFEST.txt estava da seguinte forma:
Manifest-Version: 1.0
Created-By: Vingdel
Main-Class: Classe
Então eu abri o Prompt de Comando e digitei:
C:\>jar cmf MANIFEST.txt Classe.jar Classe.class Classe$1.class Classe$2.class
Muito bem, o JAR foi gerado, porém quando vou executar a aplicação recebi a seguinte mensagem:
Failed to load Main-Class manifest attribute from C:\Classe.jar
Então encucado fui no JAR gerado e conferi o MANIFEST.MF, quando o abri pude ver que ele estava configurado assim:
Manifest-Version: 1.0
Created-By: Vingdel
Ou seja, faltava a última linha... Então resolvi mudar meu MANIFEST.txt para o seguinte:
Manifest-Version: 1.0
Created-By: Vingdel
Main-Class: Classe
[color=red]OBS.: Repare que fiz uma quebra de linha depois de "Main-Class"[/color]

E gerei novo JAR e quando o executei tudo correu corretamente. Mas não fiquei satisfeito com isso e ficou na minha cabeça a seguinte dúvida:

Será que tem que haver uma linha abaixo de Main-Class: ou sempre tem que haver uma quebra de linha após a última linha?

Então configurei meu MANIFEST.txt mais uma vez para o seguinte:
Main-Class: Classe
Manifest-Version: 1.0
Created-By: Vingdel
Então após gerar o JAR, a aplicação rodou perfeitamente, mas fui conferir o MANIFEST.MF dentro do JAR e notei que ele estava configurado assim:
Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Main-Class: Classe
[color=red]OBS.: Repare que há duas quebras de linha depois de "Main-Class"[/color]

[color=red]CONCLUSÃO:[/color] [color=green]Para que o arquivo MANIFEST.MF seja gerado corretamente, deve-se fazer uma quebra de linha após a última linha para que ela não seja ignorada.[/color]

Espero que esse tópico seja de ajuda para quem tem dificuldades ao gerar ser JAR's corretamente e que não seja um tópico repetido, afinal antes de postar eu procurei por tópicos que falassem da mesma situação.

Abraço!

Criado 11 de maio de 2009
Respostas 0
Participantes 1