No Persistence provider

13 respostas
fred_cbranco

Fala galera, ao executar um projeto ele da o sequinte erro

GRAVE: Exception starting filter filtros.JPAFilter
javax.persistence.PersistenceException: No Persistence provider for EntityManager named copadomundo
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	at filtros.JPAFilter.init(JPAFilter.java:29)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

Ja coloquei o persistence.xml em tudo quanto é pasta pra ver se resolve e nada
Alguem sabe como resolver?
Estou usando o netbeans 7
Grato

13 Respostas

Hebert_Coelho

Tem como colocar o código do persistence.xml?
Você o colocou apenas na pasta src/META-INF ?

fred_cbranco

jakefrog:
Tem como colocar o código do persistence.xml?
Você o colocou apenas na pasta src/META-INF ?

opa tem sim.

<?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="WebApplication5PU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <property name="hibernate.connection.password" value="vertrigo"/>
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/copadomundo"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
    </properties>
  </persistence-unit>
</persistence>

O projeto do netbeans nao tem este pasta META-INF

fred_cbranco

Criei a pasta META-INF e colei la dentro, continua o mesmo erro
segue a classe JPAFilter

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package filtros;

import java.io.IOException;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

/**
 *
 * @author Fred
 */
@WebFilter(servletNames={"Faces Servlet"})
public class JPAFilter implements Filter {
    private EntityManagerFactory factory;

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        this.factory = Persistence.createEntityManagerFactory("copadomundo");
        
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        EntityManager entityManager = this.factory.createEntityManager();
        request.setAttribute("entityManager", entityManager);
        entityManager.getTransaction().begin();
        chain.doFilter(request, response);
        try {
            entityManager.getTransaction().commit();
        } catch (Exception e) {
            entityManager.getTransaction().rollback();
        } finally {
            entityManager.close();
        }
    }

    @Override
    public void destroy() {
        this.factory.close();
    }
    
  
    
    
    
}
Hebert_Coelho

Mano, olha a mensagem de erro: javax.persistence.PersistenceException: No Persistence provider for EntityManager named copadomundo
Olha como você configurou:

No netbeans não adianta sair criando as pastas, apague e fique apenas com o arquivo que ele criou inicialmente pois ele faz o trabalho de empacotar tudo no lugar devido.

fred_cbranco

jakefrog:
Mano, olha a mensagem de erro: javax.persistence.PersistenceException: No Persistence provider for EntityManager named copadomundo
Olha como você configurou:

No netbeans não adianta sair criando as pastas, apague e fique apenas com o arquivo que ele criou inicialmente pois ele faz o trabalho de empacotar tudo no lugar devido.


cara mudei a configuracao e agora da este erro:

GRAVE: Exception starting filter filtros.JPAFilter
javax.persistence.PersistenceException: [PersistenceUnit: copadomundo] Unable to build EntityManagerFactory
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
	at filtros.JPAFilter.init(JPAFilter.java:29)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
	at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
	at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
	at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
	... 16 more
Hebert_Coelho

Veja o stack completo, estourou algum outro erro antes desse.

fred_cbranco

Desfiz e tudo e refiz novamente e nao deu mais erro agora o erro 'e com o xhtml
da o sequinte erro no navegador.

Erro no processamento de XML: nenhum elemento encontrado
Posição: http://localhost:8084/WebApplication5/faces/jogadores.xhtml
Número da linha 1, coluna 1:
^

O Xhtml esta assim
jogadores.xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <ui:composition template="template.xhtml">
    </ui:composition>
</html>

template.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Copa do Mundo</title>
        <link rel="stylesheet" href="style.css" type="text/css"/>
    </h:head>
    <h:body>
        <div id="header">
            <img class="logo" src="k19-logo.png" />
            <h:outputLink styleClass="botao" value="selecoes.xhtml">Selecoes</h:outputLink>
            <h:outputLink styleClass="botao" value="jogadores.xhtml">Jogadores</h:outputLink>
            <hr/>
        </div>
        <ui:insert name="conteudo"> Espaço para o conteúdo da tela </ui:insert>
        <div id="footer" style="text-align: center">
            <hr />
            &copy; 2010 K19. Todos os direitos reservados.
        </div>
    </h:body>
</html>

nao sei pq esta dando este erro aparentemente esta tudo certo!

PuRgAuM

Me parece que não foi especificado o dialeto para o Hibernate trabalhar.

Acredito que faltou essa linha no persistence.xml:

org.hibernate.dialect.MySQLDialect

fred_cbranco

PuRgAuM:
Me parece que não foi especificado o dialeto para o Hibernate trabalhar.

Acredito que faltou essa linha no persistence.xml:

org.hibernate.dialect.MySQLDialect


sim sim, era isso mesmo estava mapeando a classe antes desta linha e estava dando erro.
Agora o erro 'e outro olha ai encima hehe

PuRgAuM

Respondemos ao mesmo tempo… hehe

fred_cbranco

Qualquer arquivo que abro ate mesmo o index vazio da este erro ai encima

PuRgAuM

Cara… não vem mais nada junto com esse erro ai??

fred_cbranco

Reiniciei o netbeans e deu certo afff.
Obrigado a todos

Criado 19 de janeiro de 2012
Ultima resposta 19 de jan. de 2012
Respostas 13
Participantes 3