Gerar jar

[b] TENHO…5 *.CLASS DENTRO DE…C:DIVELOG E A CLASSE QUE CONTEM A FUNÇÃO MAIN CHAMA-SE DiveLog.class EU QUERO GERAR UM ARQUIVO *.JAR PARA CHAMAR ATRAVÉS DE UM ARQUIVO BAT.

O PROBLEMA É O SEGUINTE CRIEI UM ARQUIVO TESTE.MF E EDITEI O SEGUINTE
[/b]

[color=“blue”]Main-Class: DiveLog[/color]

ENTÃO FUI NO DOS E ENTREI NO DIRETORIO C:DIVELOG E EXECUTEI
O SEGUINTE COMANDO

C:divelog>jar -cvfm divelog.jar teste.mf *.class
added manifest
adding: DiveLog$1.class(in = 480) (out= 328)(deflated 31%)
adding: DiveLog$2.class(in = 507) (out= 340)(deflated 32%)
adding: DiveLog.class(in = 2643) (out= 1385)(deflated 47%)
adding: Diver.class(in = 194) (out= 162)(deflated 16%)
adding: Dives.class(in = 194) (out= 162)(deflated 16%)
adding: Resources.class(in = 202) (out= 165)(deflated 18%)
adding: Statistics.class(in = 204) (out= 168)(deflated 17%)
adding: WebSite.class(in = 198) (out= 165)(deflated 16%)
adding: Welcome.class(in = 198) (out= 165)(deflated 16%)

ai obtive o seguinte erro:

C:divelog>java -jar divelog.jar
Failed to load Main-Class manifest attribute from
divelog.jar

agradeço muito a ajuda

eder

[/b]

Olha, teoricamente esta correto. O que pode estar errado eh o seu arquivo de manifest… verifique ele de novo, veja se o conteudo nao esta zerado ou com algo errado escrito dentro… geralmente esse erro da qdo o .mf esta vazio ou nao contem algo valido…

Rafael

Olá…

Estou com um problema muito parecido… mas o erro é diferente.

No diretório correto, dou o comando:

jar cvfm BemVindo.jar manifest.txt BemVindo.class BemVindoDeNovo.class

[ENTER]

added manifest
adding: BemVindo.class(in = 1528) (out= 706)(deflated 53%)
adding: BemVindoDeNovo.class(in = 1620) (out= 763)(deflated 52%)

depois executo o comando:

midp -classpath . -Xdescriptor BemVindo.jad

[ENTER]

e ele dá o seguinte erro:

com.sun.midp.midletsuite.InvalidJadException: Reason = 28

Já chequei o arquivo manifest e fiz tudo como o tutorial de um livro da Sun manda… e dá o mesmo erro…

Alguém sabe o que pode estar acontecendo??

Voces tao postando umas perguntas muito dificeis… assim nao vale hehehe :mrgreen:

Esse ultimo erro eu nao sei mesmo, nao vi nem no google, mas o primeiro ( da primeira msg ), parece que eh pq o .mf foi mal gerado mesmo…

Rafael

Bom para ediat o file manifest…não é só abrir o bloco de notas e escrever
[color=“blue”]Main-Class: DiveLog[/color]?

e salvar o arquivo com a extensão mf?

putz eu fiz isso.

Faz esse teste pra tirar a duvida:

Gera o .jar q abre no winzip… veja como estah o conteudo do arquivo “Manifest.mf” dentro do jar e se esse arquivo contem a linha “Main-Class:…”

Olha nao sei se essa eh a solucao para o seu problema, mas eu fiz um teste e veja o que aconteceu:

Eu criei o .mf com o conteudo “Main-Class: MinhaClasse” e salvei sem pular nenhuma linha… gerei o jar e deu o problema de nao achar a classe principal… Olhando o manifest.mf dentro do jar vi que nao tinha a linha “Main-Class: MinhaClasse”…

Ai pulei uma linha logo apos a linha “Main-Class: MinhaClasse” no arquivo .mf e gerei o jar novamente… ai funcionou…

Pessoal, consegui resolver o problema!!!

É que eu tinha digitado um espaço a mais no Manifest.txt, por isso estava dando o erro!!!

Mas o erro continua sendo estranho…

Um abraço!!!

depois de muito bater cabeca para criar o jar com 5 classes
instalei o Eclipse e ele crior o Jar certinho ai então fui ver o arquivo manifest para ver o que eu estava fazendo de errado e a unica coisa
era que eu colocava o nome da classe principal que se chama DiveLog
e na verdade teria que ser DiveLog.DiveLog

ai o JAR funcionou como um executavel

agora sera que é por causa do diretorio aonde se encontra a classe principal ou é porque o package tambem chama divelog e tenho que indicar o package e depois o nome da main.classe no paramatero Main-Class do arquivo manifest

sim… :idea:
vc tem q especificar todo o pacote em q ela pertence tb…
se a classe principal “Main” faz parte do pacote “pacote1”, vc tem q especificar no manifesto:
Main-Class: pacote1.Main
eh isto ae…
[]s