Formato Inválido do 'manifest.txt' ('Invalid manifest format')
9 respostas
fjfeitosa
Olá,pessoal:
Vê se podem me ajudar:
Não é a primeira vez que faço um jar, pois já fiz da forma que vou descrever e funcionou.
Tenho o seguinte diretorio: C:/Sismater/sisJar
Compilei as classes em ‘Sismater’, gerando em ‘sisJar’ os .class.
O problema está no arquivo manifest, apesar de já ter feito um jar desta mesma forma:
Coloquei no manifesto o seguinte:
Manifest-Version: 1.0
Main-Class: sisJar.Princ
Name: sisJar/Princ.class
Java-Bean: True
(aqui dei dois enter antes de salvar)
Coloquei também o Class-Path do connectorJ. (Class-Path: lib/mysql-connector-java-5.0.3-bin.jar).
O problema é que quando dou o comando jar cfm princ.jar manifest.txt lib imagem sisjar.*. vem uma mensagem
‘invalid manifestmanifest’.
Onde estaria o erro?
Então, o meu package é sisJar e contém a ‘/’: Name: sisJar/Princ.class…
T
thingol
Acontece que é impossível você ter um nome de package com .class no meio. Além disso, se você leu o link que lhe passei, vai ver que o tag Name: só aceita nomes que terminem com um “/”.
Você tem de escrever “Name: sisJar/”.
fjfeitosa
Olá Thingol!
Fiz como você indicou mas continua dando a mensagem ‘incorrect manifest format’. Já não sei onde ‘mexer’ pra´ funcionar…
T
thingol
Poste o arquivo completo. O erro de sintaxe deve estar em outro lugar então. (O nome do arquivo não é MANIFEST.MF ? )
fjfeitosa
Caro Thingol:
Segue abaixo o arquivo manifest.txt que fiz. Como falei, em Name, coloquei ‘Name: sisJar/’, mas não funcionou. Também fiz sem a linha Name, mesma coisa. Está salvo como manifest.txt.
Minha estrutura de diretórios é C:/Sismater/sisJar.
sisJar é o ‘package’. O arquivo manifest está salvo em Sismater.
O comando que dei foi 'jar cfm princ.jar manifest.txt lib imagem sisjar.*.
Em sisJar estão as classes Princ.class, (principal) e outras.
Manifest-Version: 1.0
Class-Path: lib/mysql-connector-java-5.0.3-bin.jar
Main-Class: sisJar.Princ
Name: sisJar/Princ.class
Java-Bean: True
(aqui dei dois enter antes de salvar)
fjfeitosa
Olá Thingol, boa tarde!
Conseguiu ver prá mim qual foi o erro do manifest?
Desculpe, às vezes estou off line devido à correria da vida.
fjfeitosa
Pessoal, ninguém conseguiu me esclarecer esse assunto, aí só tive uma alternativa: consultas no google. E numa dessas consultas, apesar do texto estar em ingles, e o meu ingles ser (mais ou menos) de leitura, deu prá entender que poderia tratar-se de um bug (depois descobri que não era). Aí me abriu a mente: desinstalei o meu JDK e reinstalei uma versão mais atual (de 1.5.0_14 p/ 1.5.0_18) e também da JRE, o meu JCreator, mas continuou tudo igual. Aí, num certo momento resolvi digitar o comando p/ criar o JAR respeitando maiúsculas e minúsculas. Eu nunca respeitei, pois quando abro o DOS, busco os diretórios sempre em minúsculas e eles vêm. Mas dessa vez fiz isso e funcionou! Conclusão: pode ser em minúsculas qualquer outra palavra, mas o nome do ‘package’ , que no meu caso é ‘sisJar’, onde eu estava colocando ‘sisjar’, tem que ter (no caso) o ‘J’ maiúsculo. Apanhei, viu!! Mas valeu!! Abraços!!!