[RESOLVIDO]Erro ao criar o EntityManagerFactory (JPA)

Estou obtendo a seguinte mensagem de erro ao utilizar a JPA com o Hibernate:

18/12/2007 10:45:03 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.0.GA
18/12/2007 10:45:03 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
18/12/2007 10:45:03 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
18/12/2007 10:45:03 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
18/12/2007 10:45:03 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
18/12/2007 10:45:04 org.hibernate.ejb.Version <clinit>
INFO: Hibernate EntityManager 3.3.1.GA
Exception in thread "main" java.lang.NoClassDefFoundError: javassist/bytecode/ClassFile
	at org.hibernate.ejb.packaging.JarVisitor.checkAnnotationMatching(JarVisitor.java:332)
	at org.hibernate.ejb.packaging.JarVisitor.executeJavaElementFilter(JarVisitor.java:298)
	at org.hibernate.ejb.packaging.JarVisitor.addElement(JarVisitor.java:259)
	at org.hibernate.ejb.packaging.ExplodedJarVisitor.getClassNamesInTree(ExplodedJarVisitor.java:54)
	at org.hibernate.ejb.packaging.ExplodedJarVisitor.getClassNamesInTree(ExplodedJarVisitor.java:62)
	at org.hibernate.ejb.packaging.ExplodedJarVisitor.getClassNamesInTree(ExplodedJarVisitor.java:62)
	at org.hibernate.ejb.packaging.ExplodedJarVisitor.doProcessElements(ExplodedJarVisitor.java:45)
	at org.hibernate.ejb.packaging.JarVisitor.getMatchingEntries(JarVisitor.java:241)
	at org.hibernate.ejb.Ejb3Configuration.addMetadataFromVisitor(Ejb3Configuration.java:271)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:240)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	at contacts.core.persistence.util.JPAUtil.<clinit>(JPAUtil.java:23)
	at contacts.core.persistence.impl.HSQLDB.configure(HSQLDB.java:26)
	at Test.main(Test.java:10)

Alguém já passou por isso ou sabem oq pode ser?
Já utilizei a busca do GUJ em busca das palavras chave “javassist/bytecode/ClassFile” e não obtive sucesso.
Apelando para o “oráculo” (google) obtive informações que esse erro está ligado com a forma como os bytecodes estão sendo manipulados, ou seja é algo bem “embaixo”, mas n faço ideia do que seja.

Meu persistence.xml se encontra na pasta META-INF dentro da pasta src e está com a seguinte estrutura.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
	xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	<persistence-unit name="contacts">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>

		<class>contacts.core.common.BaseEntity</class>
		<class>contacts.core.contact.api.Contact</class>
		<class>contacts.core.contact.api.Group</class>
		<class>contacts.core.contact.api.Phone</class>

		<properties>
			<property name="hibernate.show_sql" value="true"/>	
			<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />			
			<property name="hibernate.connection.driver_class" value="org.hsql.jdbcDriver" />
			<property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost/contacts" />
			<property name="hibernate.connection.username" value="sa" />
			<property name="hibernate.connection.password" value="" />
		</properties>
	</persistence-unit>
</persistence>

Vale lembrar que essa aplicação é desktop.

Desde já agradeço.

Acho que essa frase diz tudo…
Essa classe não existe no seu classpath, e por algum motivo o código que você escreveu ou a(s) API(s) que você usa precisam dessa classe.
Tenta colocá-la no classpath para ver se resolve o problema…

[]'s.

Você já tentou criar um bean, apontando para o EntityManageFactory?

[quote=marceloquinta]Você já tentou criar um bean, apontando para o EntityManageFactory?

[/quote]

Meus beans estão nos pacotes indicados no persistence.xml, o erro esta acontencedo quando tento criar a EntitymanagrFactory, segue a linha qu está levantando o erro:

		entityManagerFactory = Persistence.createEntityManagerFactory("contacts");

[quote=kaique][quote=bcartaxo]
ava.lang.NoClassDefFoundError: javassist/bytecode/ClassFile
[/quote]
Acho que essa frase diz tudo…
Essa classe não existe no seu classpath, e por algum motivo o código que você escreveu ou a(s) API(s) que você usa precisam dessa classe.
Tenta colocá-la no classpath para ver se resolve o problema…

[]'s.[/quote]

Como foi dito acima, está faltando algum jar na sua aplicação. Liste aqui todos os jar referentes ao hibernate que estão incluidos no seu projeto

Seque uma imagem em anexo com todas as libs que estão importadas no meu classpath.

Pesquisei na net e encontrei uma lib chamda javassist baixei e inlcuir no classpath, agora sim td funcionaou, porem eh bem estranho td isso, pq eu ja li sobre JPA em inúeras fontes, e em momento algum cita-se essa lib, nem mesmo na dacumentação do hibernate, pelo menos eu n encontrei em canto algum, só fui atras dela por conta do NoClasDefFoundError q falava de uma classe num pacote javassist. É bem estranho, algum de vcs q trabalham com JPA e HIbernate ja tiveram q incluir tal lib no classpath?

Que você não tenha encontrado nenhuma referência a essa lib no JPA tudo bem, mas devems lembrar que JPA é apenas uma abstração que os distrubuidores tem que implementar para estarem compatíveis com a especificação.
Distribuidores estou me referindo a Hibernate, Toplink, etc… Dê uma olhada no que eles exigem de bibliotecas para que você possa utilizar essas distribuições de acordo com a especificação.