Criação de um JAR

5 respostas
fjfeitosa

Por favor, pessoal do java. 1- Qual a diferença entre manifest.mf e manifest.txt? O segundo é um arquivo que criamos dentro de um diretorio chamado META-INF, certo? E o primeiro? 2- Qual a diferença entre o manifest em cujo texto vai a versão, p. e., Version 1.0, etc e o outro no qual colocamos o Main-Class? Me ajudem, quero fazer um jar para distribuir uma aplicação.
Valeuuuuuuuuuuuuuuu!!!
fjfeitosa.
21/03/2007

5 Respostas

Pedrosa

O que deve ser usado é o manifest.mf, esse manifext.txt nunca ouvi falar, agora também existe um excelente plugin no eclipse para geração de jar sem muita frescura:

http://fjep.sourceforge.net/fjeptutorial.html

Fabiano

Quando você gera um JAR o próprio gerador do pacote gera o arquivo manisfest.mf, não importa como estava definido anteriormente (com extensão, sem extensão… o que interessa é o conteúdo do arquivo.

Quanto aos parâmetros do manifest, você tem que colocar, no mínimo o seguinte (em qualquer arquivo):
Manifest-Version:
Main-Class:

Se você utilizar outros JAR você deve adicionar a linha “Class-Path” e, de preferência, colocar todos no mesmo diretório.

Se você quiser saber algo mais sobre as propriedades do manifest dá uma olhada aqui: Understanding the Manifest

cezbatistao

eu tenho um .jar aqui q criei, e q depende de outros .jar, e no manifest dele eu defini a propriedade Class-Path: com todos os jar dependentes, separados por espaço, e qdo eu executo meu .jar, da erro q ele não achou uma das classes q estão nos meus .jar dependentes, não consigo fazer rodar minha aplicação msm colocando os jars dependentes dentro dela e apontando o nomes delas no meu manifest :confused:

fjfeitosa

Valeu, Pedrosa.

Vou tentar baixar o eclipse novamente. “Deu pau” da outra vez e eu desisti.

Vou tentar outra vez e te falo. OK!!!
fjfeitosa.

fjfeitosa

Ola´, Fabiano !!
Fiz o seguinte:

  • criei uma arvore assim:
    C:/Aplicacao
  • Coloquei antes do meu codigo : package testeJar
  • salvei dentro de Aplicacao, e foi criada a pasta testeJar
  • Os diretorios ficaram assim:
    C:/Aplicacao/testeJar
    -dentro de testeJar ficou a minha .class
  • dentro de Aplicacao ficaram : a pasta testeJar, o .java e um arquivo Manifesto.txt que salvei lá
    -Nesse arquivo manifesto, seguindo sua sugestão, coloquei o Main-Class: testeJar.Botao
  • coloquei também: Version: 1.0
    -Botao é a minha classe (main)
    -no DOS, em Aplicacao digitei:
    jar cvmf Botao.Jar Manifesto.txt
    -Foi gerado Botao.Jar, dentro de Aplicacao, porém o arquivo Manifesto.txt ficou intacto. Pergunto: e o .mf? e a pasta META-INF? De onde vem?
    -O incrível é que , no DOS, dentro de Aplicacao, digitando:
    java -jar Botao.Jar, a aplicacao abre. Só não consigo dando os dois cliques. Por quê?
    Debuga aí prá mim, Fabiano, por favor!!!
    Obrigado de novo, e até lá!!!
    fjfeitosa.
Criado 21 de março de 2007
Ultima resposta 30 de mar. de 2007
Respostas 5
Participantes 4