No Persistence provider for EntityManager named default

Estou com JBoss7 e ao tentar encontrar o persistence unit estou recebendo o seguinte erro:

persistence.xml

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

	    <persistence-unit name="default"  transaction-type="JTA">
	    <provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:jboss/datasources/testeDatasource</jta-data-source>
		<properties>
		    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
		    <property name="hibernate.check-valid-connection-sql" value="select 0 from dual"/>
		</properties>
	    </persistence-unit>
</persistence>

JPAUtil

public static EntityManager getEntityManager(String ue) {
  if (emf == null) {
      emf = Persistence.createEntityManagerFactory("default");
  }
  return emf.createEntityManager();
}

jars na aplicação

alguém poderia ajudar?

Tem certeza que o persistence.xml está dentro do seu META-INF?

Primeiramente obrigado por responder, o persistence.xml está dentro da pasta META-INF dentro do src
em busca vi que um dos problemas poderia ser a falta do jar hibernate-entitymanager-3.6.7.Final.jar porém ao colocar ele em minha aplicação ocorre o seguinte erro no start do JBoss 7.0.2

Não a necessidade de adicionar essa ultima. Da uma olhadinha aqui, tente seguir esse exemplo
http://www.k19.com.br/artigos/configurando-hibernate-com-mysql/

Tem a propria documentação tb
http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/configuration.html

Separei somente os jars conforme documentação que você me enviou, o meu persistence.xml ficou assim

	    <persistence-unit name="default"  transaction-type="JTA">
	    <provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:jboss/datasources/testeDatasource</jta-data-source>
		<properties>
		    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
		    <property name="hibernate.check-valid-connection-sql" value="select 0 from dual"/>
		</properties>
	    </persistence-unit>

e mesmo assim o erro continua (o mesmo)

Estranho. Da uma olhada no .war ou no proprio target e vê se o depoloy do persistence foi feito de maneira correta(dentro do META-INF)… Muito estranho isso. Pensei também no datasource, mas pela mensagem de erro, acho que não seria, um outro motivo seria o nome do unit sendo chamado erroneamente, mas pelo que passou está certo, mais um motivo seria versões de bibliotecas incompatíveis, mas vc afirma que colocou as libs da mesma maneira da documentação…

Realmente até tentei utilizar as dependências disponibilizadas pela Caelum, mas o erro foi o mesmo

http://blog.caelum.com.br/as-dependencias-do-hibernate-3-5/

santoro, coloque seu datasource mais ou menos com esse nome MeudatasourceDS (primeira letra CAPS e terminando com DS). Já tive problemas com nomeclatura de DS no JBoss.

Outra coisa é a declaração seria:

<jta-data-source>[b]java:/[/b]MeudatasourceDS </jta-data-source> no seu caso, está apenas com java: e sem o /

Você está colocando seu datasource na pasta correta? na pasta de deploy?

Alterei meu datasource no nome que vc indicou e o erro continua o mesmo, para tentar simplificar fiz assim (mas o erro persiste)

persistence.xml em src/META-INF

e um servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		EntityManager em = Persistence.createEntityManagerFactory("default").createEntityManager();
		TypedQuery&lt;Pessoa&gt; query = em.createQuery("select p from Pessoa p",Pessoa.class);
		List&lt;Pessoa&gt; pessoas = query.getResultList();
		for (Pessoa p : pessoas){
			System.out.println(p.getNome());
		}
	}

jar’s dentro do WEB-INF/lib

Essa sua linha ainda continua diferente da que eu postei:

Eu postei

Coloque seu datasource dentro da pasta deploy e depois escreva igual eu coloquei aí.

jakefrog criei um novo projeto seguindo o que falou e o erro permaneceu:

src/META-INF/persistence.xml

e fiz um servlet para teste

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		EntityManager em = Persistence.createEntityManagerFactory("ConexaoJPA").createEntityManager();
		TypedQuery&lt;Pessoa&gt; query = em.createQuery("select p from Pessoa p",Pessoa.class);
		List&lt;Pessoa&gt; pessoas = query.getResultList();
		for (Pessoa p : pessoas){
			System.out.println(p.getNome());
		}
	}

minhas libs

alguma sugestão???

Vc criou esse arquivo como? <jta-data-source>java:/MeudatasourceDS</jta-data-source>

No arquivo standalone.xml do jboss 7.0.2 inserir o seguinte código

&lt;datasources&gt;
&lt;datasource jndi-name="java:/MeudatasourceDS" pool-name="DatasourceUC" enabled="true" jta="true" use-java-context="true" use-ccm="true"&gt;
    &lt;connection-url&gt;jdbc:oracle:thin:@localhost:1521/xe&lt;/connection-url&gt;
    &lt;driver&gt;oracle&lt;/driver&gt;
    &lt;transaction-isolation&gt;TRANSACTION_READ_COMMITTED&lt;/transaction-isolation&gt;
    &lt;pool&gt;
	&lt;min-pool-size&gt;0&lt;/min-pool-size&gt;
	&lt;max-pool-size&gt;20&lt;/max-pool-size&gt;
	&lt;prefill&gt;true&lt;/prefill&gt;
	&lt;use-strict-min&gt;false&lt;/use-strict-min&gt;
	&lt;flush-strategy&gt;FailingConnectionOnly&lt;/flush-strategy&gt;
    &lt;/pool&gt;
    &lt;security&gt;&lt;user-name&gt;teste&lt;/user-name&gt;
	&lt;password&gt;teste&lt;/password&gt;
    &lt;/security&gt;
&lt;/datasource&gt;
&lt;drivers&gt;
    &lt;driver name="oracle" module="com.oracle.ojdbc6"&gt;
	&lt;xa-datasource-class&gt;oracle.jdbc.OracleDriver&lt;/xa-datasource-class&gt;
    &lt;/driver&gt;
&lt;/drivers&gt;
&lt;/datasources&gt;

o datasource está funcionando pois rodando

public static Connection getConexao() {
		DataSource ds = null;
		Connection con = null;
		InitialContext ic;
		try {
			ic = new InitialContext();
			ds = (DataSource) ic.lookup("java:/MeudatasourceDS");
			con = ds.getConnection();
		} catch (Exception e) {
			System.out.println("Erro a pegar conexao: " + e.getMessage());
			e.printStackTrace();
		}
		return con;
	}

retorna a conexão normalmente

Desse modo aí eu nunca vi. Geralmente no JBoss se cria um arquivo xml com os dados dentro da pasta deploy. Nesse caso aí seria MeuDatasource-ds.xml e dentro dele seria tipo:

[code]<?xml version="1.0" encoding="UTF-8"?>

MeuDataSourceDS jdbc:postgresql://localhost:5432/nomadscity org.postgresql.Driver postgres postgres
	<!-- sql to call on an existing pooled connection when it is obtained from pool. Can be anything, select 1 is valid for PostgreSQL <check-valid-connection-sql>select
		1</check-valid-connection-sql> -->

	<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
	<metadata>
		<type-mapping>PostgreSQL 7.2</type-mapping>
	</metadata>
</local-tx-datasource>

[/code]

Esse aí é o código da minha aplicação.

No meu caso tava dando problema nas bibliotecas, que tava migrando do jdk1.6 para jdk1.7 deu uns probleminhas…