Javax.persistence.PersistenceException: No Persistence provider for EntityManager named [Resol]

Pessoal, bom dia!

Estou iniciando um projeto usando VRaptor + Hibernate e estou obtendo o erro descrito no titulo.

A stack é:

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named usuario
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	at br.com.disoft.dao.UsuarioDAO.<init>(UsuarioDAO.java:25)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
	... 53 more

O meu arquivo persistence.xml está na pasta src/META-INF:

<?xml version="1.0" encoding="UTF-8" ?>
<persistence 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" version="1.0">

	<persistence-unit name="usuario" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>br.com.disoft.usuario.Usuario</class>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
			<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
			<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/*****" />
			<property name="hibernate.connection.username" value="****" />
			<property name="hibernate.connection.password" value="****"/>
			<property name="hibernate.hbm2ddl.auto" value="update" />        
			<property name="hibernate.archive.autodetection" value="class" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
			<property name="hibernate.use_sql_comments" value="true" />    
			<property name="hibernate.current_session_context_class" value="thread"/>
		</properties>
	</persistence-unit>	  

</persistence>

minha classe Usuario:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;


@Entity  
@Table(name="usuario")  
@SequenceGenerator(name="SEQ",sequenceName="usuario_pkid_seq", initialValue=1, allocationSize=1)
public class Usuario {

	@Id  
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ")
	@Column(name="id")
	private int id;
	
	@Column(name="login")
	private String login;
	
	@Column(name="password")
	private String password;
	
	@Column(name="nome")
	private String nome;
	
	@Column(name="sobrenome")
	private String sobrenome;
	
	@Column(name="ativo")
	private boolean ativo;

	@Column(name="tipo")
	private String tipo;

// getters e setters omitidos
}

Minha classe UsuarioDAO:

import org.hibernate.Criteria;
import org.hibernate.Session;

import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
import br.com.disoft.usuario.Usuario;

@SessionScoped
@Component
public class UsuarioDAO {

	private EntityManagerFactory factory;
	private EntityManager manager;

	public UsuarioDAO() {
		factory = Persistence.createEntityManagerFactory("usuario"); //ERRO ACUSADO AQUI
		manager = factory.createEntityManager();
	}
//Métodos omitidos
}

Alguém tem alguma idéia???

Muito obrigado.

Imagino que os JARs do hibernate não estejam no projeto.

Sim…

hibernate-3.3.2.jar
hibernate-annotations-3.4.0.jar
hibernate-commons-annotations-3.4.0.jar
hibernate-entitymanager-3.4.0.GA.jar
ejb3-persistence-1.0.1.GA.jar

entre outros…

Acho que o eclipse estava se perdendo na estrutura do projeto…

Arrastei a pasta META-INF para fora do src e arrastei de volta depois e começou a funcionar… :slight_smile:

Obrigado…

problema relatado na mensagem abaixo

Boa noite Danilo, você poderia explicar melhor! estou com o mesmo problema! pois na estrutura do projeto criado no eclipse a pasta META-INF é criada dentro da pasta WebContent e fora do src. muitos dizem que a pasta META-INF tem que ficar dentro do src,
só encontro as mesmas respostas(falta de jar´s na aplicação e arquivo persistence.xml fora da pasta META-INF).

Estou com o mesmo problema só que minha jars estão no WebContend/WEB-INF/lib
Alguma dica?