Gerando arquivos JAR e MANIFEST.MF

7 respostas
Marcelo_de_Andrade

Bom dia, pessoal.

Estou utilizando o NOTEPAD e testando através do CMD ( Windows 7 ). Estava com problemas ao gerar um arquivo JAR através do comando:

jar cvf teste.jar Principal.class

Hoje consegui resolver esse problema devido a algumas configuraçãos no arquivo MANIFEST.MF. A minha dúvida é:
Toda vez que eu criar o arquivo JAR eu tenho que necessariamente editar o arquivo MANIFEST.MF que é gerado dentro dele? Ele foi gerado automaticamente da seguinte forma:

Manifest-Version: 1.0
Created-By: 1.7.0 (Oracle Corporation)

Pesquisando, encontrei em um material informando que é necessário declarar a classe principal que contém o método main e adicionei a linha:

Main-Class: Principal

Não há uma maneira do arquivo MANIFEST.MF ser criado com as configurações necessárias logo quando eu crio o JAR?

7 Respostas

ViniGodoy

Geralmente criamos o arquivo manifest.mf mesmo. Nele vc colocará a main class e o nome dos .jars externos que sua aplicação depende.
Felizmente, a maioria das IDEs consegue criar esse .jar sozinho, já preenchendo as duas informações.

Marcelo_de_Andrade

Entendi, se não utilizar IDE tem de ser tudo, TUDO, no braço. Esse arquivo MANIFEST.MF é somente para referências como esse caso da declaração da classe main? Há algum, vamos dizer, ponto crucial que somente com esse arquivo e suas declaraçãoes o .JAR irá rodar?

hvivox

errado, há outra forma de rodar o .jar mais isso não fica claro quando vc gera o .jar pela IDE, entendeu?

Marcelo_de_Andrade

Não tão claramente, mas o que seria realmente necessário nesse arquivo? Além da declaração da main class, é claro.

hvivox

Faz assim! gera um .jar pelo netbens depois que fizer isso descompacte o .jar e procure o arquivo manisfest e verifique o que é mostrado. Se ficar com dúvidas volte a postar

hvivox

rodou?

ViniGodoy

O main class já seria um motivo grande o suficiente. Mas dentro dele também vai, como eu já havia falado, o nome de todos os .jars que seu .jar depende.
O .jar pode ser também assinado (ter um certificado de autenticidade), que irá incorporado ao manifest.

Mais informações:
http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html

Criado 11 de setembro de 2011
Ultima resposta 11 de set. de 2011
Respostas 7
Participantes 3