Erro ao criar EntityManagerFactory

Bem, como os topicos que eu vi sobre esse assunto nao responderam minha pergunta … por sinal teve um topico que o cara estava com o problema exatamente igual ao meu (topico de 2007), mas ele na obteve resposta, resolvi criar esse topico

vou ate quotar o texto desse cara que estava com o mesmo problema que eu:

[quote] Pessoal vcs ja usaram JPA do tipo JTA sem ser por injeção de dependecia, tipo:

EntityManagerFactory factory = Persistence.createEntityManagerFactory(“compra_obras_pu”);
e a patir do factory pegar o Entityanager

da erro dizendo que nao tem provider para a persistence:

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named compra_obras_pu: The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory. [/quote]

aqui vai o erro

log do erro

[code]HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActAplicacao, defined for ‘prepararConsultar’ in namespace '/aplicacao’No Persistence provider for EntityManager named pdtiweb - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-aplicacao.xml:27:31
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActAplicacao, defined for ‘prepararConsultar’ in namespace '/aplicacao’No Persistence provider for EntityManager named pdtiweb - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-aplicacao.xml:27:31
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:289)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:70)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:66)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

javax.persistence.PersistenceException: No Persistence provider for EntityManager named pdtiweb
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.initialize(PrsPadraoBean.java:45)
br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.(PrsPadraoBean.java:73)
br.gov.ce.seplag.pdtiweb.persistence.PrsDaoBean.(PrsDaoBean.java:32)
br.gov.ce.seplag.pdtiweb.business.generic.BusinessGeneric.(BusinessGeneric.java:22)
br.gov.ce.seplag.pdtiweb.business.generic.BusinessBean.(BusinessBean.java:9)
br.gov.ce.seplag.pdtiweb.business.NgcAplicacaoBean.(NgcAplicacaoBean.java:10)
br.gov.ce.seplag.pdtiweb.business.BusinessFactory.getNgcAplicacao(BusinessFactory.java:189)
br.gov.ce.seplag.pdtiweb.actions.ActAplicacao.(ActAplicacao.java:60)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:121)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:152)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:70)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:66)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16[/code]

e o trecho do codigo que esta dando erro

PrsPadraoBean.java

[code]public abstract class PrsPadraoBean {

private Class<?> classEntidade = null;

//Gerenciador de fábrica de entidades.
private EntityManagerFactory factory = null;

//Entidade responsável pela persistência.
private EntityManager manager = null;

//Referência do persistence.xml.
private static final String PERSISTENCE_NAME = "pdtiweb";
private String causaErro = "";

/**
 * Inicialização da classe de persistência.
 * 
 * @author Aldivone Correia[aldivone@gmail.com] - $12/05/2007:23:19:57$
 * 
 */
private void initialize() {
    if (this.factory == null) {
        this.factory = Persistence.createEntityManagerFactory(PERSISTENCE_NAME);
    }

    if (this.manager == null) {
        this.manager = this.factory.createEntityManager();
    }

}[/code]

para completar

fiquei encucado com uma coisa agora, quando eu rodo pela primeira vez (acabei de reiniciar o tomcat) ele da um erro, depois ele da outro erro

esse erro que eu coloquei ai em cima eh quando eu jah tentei rodar ele pelo menos uma vez antes.

esse erro aqui:

[code]HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActOrcamento, defined for ‘prepararConsultar’ in namespace '/orcamento’null - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-orcamento.xml:27:31
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActOrcamento, defined for ‘prepararConsultar’ in namespace '/orcamento’null - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-orcamento.xml:27:31
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:289)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:70)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:66)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

java.lang.NullPointerException
java.util.Hashtable.put(Hashtable.java:394)
java.util.Properties.setProperty(Properties.java:143)
oracle.toplink.essentials.internal.ejb.cmp3.xml.parser.PersistenceContentHandler.startElement(PersistenceContentHandler.java:96)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:688)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2740)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceXML(PersistenceUnitProcessor.java:136)
oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceArchive(PersistenceUnitProcessor.java:84)
oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.getPersistenceUnits(PersistenceUnitProcessor.java:74)
oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:223)
oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:242)
oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:278)
oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:81)
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:119)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.initialize(PrsPadraoBean.java:45)
br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.(PrsPadraoBean.java:73)
br.gov.ce.seplag.pdtiweb.persistence.PrsDaoBean.(PrsDaoBean.java:32)
br.gov.ce.seplag.pdtiweb.business.generic.BusinessGeneric.(BusinessGeneric.java:22)
br.gov.ce.seplag.pdtiweb.business.generic.BusinessBean.(BusinessBean.java:9)
br.gov.ce.seplag.pdtiweb.business.NgcOrcamentoBean.(NgcOrcamentoBean.java:10)
br.gov.ce.seplag.pdtiweb.business.BusinessFactory.getNgcOrcamento(BusinessFactory.java:109)
br.gov.ce.seplag.pdtiweb.actions.ActOrcamento.(ActOrcamento.java:58)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:121)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:152)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:70)
com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:66)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16[/code]

acontece quando eu tento rodar pela primeira vez

estranho :confused: … da primeira vez ele acha a persistencia mas ta dando um NPE depois que roda uma vez ele nem acha mais a persistencia … alguem pode me dar uma luz?

up :frowning:

EDIT
to usando javaEE5