Erro ao executar jar

11 respostas
Guilherme_Gomes

Ola,

Exportei um arquivo JAR falando qual a minha Classe Main, dentro do meu jar tenho varios outros, como o ejb3-persistence.jar, que contem o Persistence do JPA.

Quando executo o jar ele começa certinho, mas a primeira vez que ele executa um JAR interno, como é o caso da chamada de Persistence.createEntityManagerFactory, da erro:

Alguém pode ajudar?


Obrigado,

11 Respostas

qmx

Até onde eu sei, só usando algumas gambiarras pra fazer isso funcionar (fatjar)

o normal é você configurar o classpath dentro do META-INF/Manifest.MF ou indicar onde estão esses jars via opção -cp do java

ex:

espero ter ajudado

Guilherme_Gomes

Existe algum modo facil de configurar o manifest através do Eclipse?

Guilherme_Gomes

Ja achei:

http://www.guj.com.br/posts/list/27823.java

Guilherme_Gomes

Fiz meu manifest.mf assim:

Manifest-Version: 1.0
Main-Class: com.imagemailing.Processador
Class-Path: lib/hibernate3.jar lib/hibernate-annotations.jar lib/hibernate-commons-annotations.jar  lib/ejb3-persistence.jar 
//...mais alguns imports

Continuou com o mesmo erro,
Então tentei executa assim:
java -cp lib/ejb3-persistence.jar -jar arch.jar <argumentos>

E ainda assim gera os erros!
**Realemente executei num lugar que existe a pasta lib/ejb3…

qmx

se vc tem o manifest dentro do jar não precisa da opção -cp

basta ter a pastinha lib

Guilherme_Gomes

Sim, eu coloquei o manifest como falei, alias, coloquei mais de uma linha com “Class-Path:”, isso tem problema?

Bom, mesmo fazendo isso o projeto não rodou, dando o erro citado acima.

Depois, tentei usando a opção menos -cp e passei um caminho de um jar (que tbm ficava na pasta lib) e o mesmo erro apareceu na tela!

qmx

exatamente, faça uma linha gigante apenas

Guilherme_Gomes

Quando coloquei tudo em uma linha o Eclipse reclamou falando que a linha estava grande demais!

qmx

tenta usar o separador de linha unix:

poe uma barra invertida no final da linha e dá enter, já continua escrevendo em seguida:

blah voaineoaivnaoevnaowei nvawe
aiou beivubaw

presta atenção no espaço antes da barra, ele vai acabar concatenando isso

Guilherme_Gomes

Meu MANIFEST.MF está assim:

Manifest-Version: 1.0
Main-Class: com.imagemailing.Processador
Class-Path: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbb \
 ccccccccccccccccccccccc cccccccccccccccccccccccccc cccccccccccccccccccccccccc \
...

Mas quando gero o JAR, abro e olho o MANIFEST ele está assim:

Manifest-Version: 1.0
Main-Class: com.imagemailing.Processador

E eu estou colocando a opção de usar o meu MANIFEST

Guilherme_Gomes

Na saída ficam apenas essas duas linhas acima, alguem sabe porque?

Criado 21 de novembro de 2007
Ultima resposta 21 de nov. de 2007
Respostas 11
Participantes 2