Criei um aplicação Swing + Hibernate, mas não consigo criar o jar da aplicação. Quando tento rodar pelo prompt com jdk 1.5, ocorre uma exceção que não consegue localizar o hibernate.cfg.xml, quando rodo pelo jdk 1.4.2, ocorre uma exceção de que não consegue encontar uma biblioteca. Eu sei que eh problema de classpath, abaixo está minha target do ant q gera o jar:
Gerando o .jar do projeto.
Eu omiti algumas bibliotecas para ficar mais legível, mas no manifest coloco todas as bibliotecas necessárias.
Minha estrutura de diretório é:
projeto
+bin
+lib
+src --> pacotes da aplicação + hibernate.cfg.xml
Coloque o hibernate.hbm.xml na raiz do diretório BIN, e não SRC
C
cecaldas
O hibernate.cfg está no bin, esse diretório tem a mesma estrutura do src. Tenho que especificar no manifest onde está o hibernate.cfg.xm?
_fs
Hum, então apenas coloca-lo em lib deveria bastar.
Se não, especifique o local do arquivo quando for construir a SessionFactory com o Hibernate. Prefiro fazer assim.
C
cecaldas
Jah fiz isso tb. No jdk 1.4 ele não dah esse erro, mas dah de biblioteca.
_fs
Fazendo isso funciona no 1.5?
Qual biblioteca falta no 1.4?
C
cecaldas
No 1.5 dah exceção que não consegue encontrar o hibernate.cfg.xml. No 1.4 a exceção é: Exception in thread “main” java.lang.NoClassDefFoundError: com/jgoodies/looks/plastic/PlasticTheme
_fs
Tente configurar assim, considerando que o arquivo estará na raiz de BIN
Configuration conf = new Configuration().addFile( new File( getClass().getClassLoader().getResource( "hibernate.cfg.xml" ).getPath() ) );factory = conf.configure().buildSessionFactory();
C
cecaldas
Olá,
Quando eu faço:
Configuration conf = new Configuration().addFile( new File( getClass().getClassLoader().getResource( "hibernate.cfg.xml" ).getPath() ) );factory = conf.configure().buildSessionFactory();
A exceção muda:
INFO: Mapping file:file:\C:\Documents%20and%20Settings\Eduardo\Desktop\App.jar!
\hibernate.cfg.xml
23/02/2005 09:50:40 net.sf.hibernate.cfg.Configuration addFile
SEVERE: Could not configure datastore from file: file:\C:\Documents%20and%20Settings\Eduardo\Desktop\App.jar!\hibernate.cfg.xml
java.io.FileNotFoundException: file:\C:\Documents%20and%20Settings\Eduardo\Desktop\App.jar!\hibernate.cfg.xml (A sintaxe do nome do arquivo, pasta ou nome do volume estß incorreta)
Águem sabe o que é a exclamação no final do arquivo.jar?
Tem como eu colocar o hibernate.cfg.xml fora do jar?
_fs
Cara, fui ajudar um colega meu com um problema similir, e fiz o mesmo erro.
Não tem pasta BIN em arquivo .jar (a não ser que seja o nome do seu pacote)
O jar deve ficar assim
MANIFEST >> manifest.mf
LIB >> *.jar
com.seu.pacote.suasclasses
E o hibernate.cfg.xml deve estar na raiz do Jar. Tenho certeza que vai funcionar agora, desculpe pelo engano
C
cecaldas
A estrutura do meu jar tah assim:
META-INF–>MANIFEST.MF
lib —> *.jar
com–>estrura dos pacotes de classe
hibernate.cfg.xml
Tu sabes o que é essa exclamação no final do jar ?