1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro de conexao com postgres

Estou fazendo um exercicio da apostila caelum fj26, porem usando o banco postgres, e de acordo com o exercicio assim eu fiz da o seguinte erro:

Persistence:

<persistence-unit name="notas">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <class>br.com.caelum.notasfiscais.modelo.Item</class>
        <class>br.com.caelum.notasfiscais.modelo.NotaFiscal</class>
        <class>br.com.caelum.notasfiscais.modelo.Produto</class>

        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/notasfiscais" />
            <property name="javax.persistence.jdbc.user" value="postgres" />
            <property name="javax.persistence.jdbc.password" value="root" />
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.jdbc.Driver" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
    </persistence-unit>

Erro na pagina:

HTTP Status 500 - java.lang.ExceptionInInitializerError

exception 

javax.servlet.ServletException: java.lang.ExceptionInInitializerError
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


root cause 

javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

Classe JPAUtil

package br.com.caelum.notasfiscais.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtil {
    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("notas");

    public EntityManager getEntityManager() {
        return emf.createEntityManager();
    }
}
HTTP Status 500 - Could not initialize class br.com.caelum.notasfiscais.dao.JPAUtil

--------------------------------------------------------------------------------

type Exception report

message Could not initialize class br.com.caelum.notasfiscais.dao.JPAUtil

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

exception 

javax.servlet.ServletException: Could not initialize class br.com.caelum.notasfiscais.dao.JPAUtil
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


root cause 

java.lang.NoClassDefFoundError: Could not initialize class br.com.caelum.notasfiscais.dao.JPAUtil
    br.com.caelum.notasfiscais.dao.DAO.listaTodos(DAO.java:46)
    br.com.caelum.notasfiscais.mb.ProdutoBean.getProdutos(ProdutoBean.java:26)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    javax.el.BeanELResolver.getValue(BeanELResolver.java:99)
    com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
    com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    javax.faces.component.UIData.getValue(UIData.java:731)
    javax.faces.component.UIData.getDataModel(UIData.java:1798)
    javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:484)
    javax.faces.component.UIData.setRowIndex(UIData.java:473)
    com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:81)
    javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
    javax.faces.component.UIData.encodeBegin(UIData.java:1118)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
    com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.53 logs.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.53
  • Essa é toda a sua stack trace? Tenta postar ela completa. E também o teu arquivo persistence.xml.

    jonathanAraujo   29 de mai de 2014
  • FredericoQR   29 de mai de 2014
  • Edita e coloca o persistence.xml, mas aproveite e verifique se os dados da pesistence unit estão corretos, com o o nome, login, senha, driver e database.

    Thiago Hora   29 de mai de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jsf ou faça a sua própria pergunta.