Olá,
Tenho uma aplicação feita em jsf 1.2 com jpa 2.0 e estou com o seguinte problema:
Quando faço o deploy da aplicação para o servidor da empresa, aparece o seguinte erro:
]Message ID StandardWrapperValve[Faces Servlet]
Complete Message
PWC1406: Servlet.service() for servlet Faces Servlet threw exception javax.faces.FacesException: #{tabConvenio115CMB.buscaListaTabConvenio115C}: java.lang.NoClassDefFoundError: Could not initialize class br.gov.pi.sefaz.convenio115.banco.JPAConexao at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) at org.primefaces.application.CleanupActionListener.processAction(CleanupActionListener.java:42) at javax.faces.component.UICommand.broadcast(UICommand.java:387) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: Could not initialize class br.gov.pi.sefaz.convenio115.banco.JPAConexao at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) ... 36 more Caused by: java.lang.NoClassDefFoundError: Could not initialize class br.gov.pi.sefaz.convenio115.banco.JPAConexao at br.gov.pi.sefaz.convenio115.dao.TabLogProcessamentoDao.buscaPorIeEChaveTed(TabLogProcessamentoDao.java:21) at br.gov.pi.sefaz.convenio115.managedBean.TabConvenio115CMB.buscaListaTabConvenio115C(TabConvenio115CMB.java:143) at sun.reflect.GeneratedMethodAccessor1312.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:187) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) ... 37 more
Pelo o que eu entendi a aplicação não consegue fazer conexão com o banco. Gostaria de saber se o problema é esse mesmo e como resolvê-lo…claro.
Não sei se ajuda mas to colocando também como está a minha persistence.xml e a minha classe de conexão:
Persistence.xml
<?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="ReciboTedPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>jndi/Convenio</non-jta-data-source>
<class>br.gov.pi.sefaz.convenio115.modelo.TabConvenio115C</class>
<class>br.gov.pi.sefaz.convenio115.modelo.TabLogProcessamento</class>
<class>br.gov.pi.sefaz.convenio115.modelo.TabErroLogProcessamento</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@10.2.3.21:1521:test"/>
<property name="javax.persistence.jdbc.user" value="system"/>
<property name="javax.persistence.jdbc.password" value="system"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
Classe de Conexão
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.gov.pi.sefaz.convenio115.banco;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
*
* @author collins
*/
public class JPAConexao {
private static final EntityManagerFactory emf;
static{
emf = Persistence.createEntityManagerFactory("ReciboTedPU");
}
public EntityManager getEntityManager(){
return emf.createEntityManager();
}
}
Agradeço por qualquer ajuda.