3
respostas

PROBLEMA: Cant instantiate class: br.com.caelum.argentum.bean.ArgentumBean.

boa tarde, estou fazendo o curso integracao-continua-jenkins e quando faço o deploy manual da aplicação argentum-web no tomcat7, recebo o seguinte erro ao acessar a URL

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Cant instantiate class: br.com.caelum.argentum.bean.ArgentumBean.

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Cant instantiate class: br.com.caelum.argentum.bean.ArgentumBean.
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

com.sun.faces.mgbean.ManagedBeanCreationException: Cant instantiate class: br.com.caelum.argentum.bean.ArgentumBean.
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:191)
    com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
    com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
    com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
    com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
    org.apache.el.parser.AstValue.getValue(AstValue.java:161)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
    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.UIOutput.getValue(UIOutput.java:174)
    javax.faces.component.UIInput.getValue(UIInput.java:291)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:92)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:56)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeMarkup(InputMaskRenderer.java:99)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeEnd(InputMaskRenderer.java:57)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:89)
    org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
    org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)
    org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)
    org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1857)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
    com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
3 respostas
Root Cause

java.lang.RuntimeException: java.io.FileNotFoundException: http://argentumws-spring.herokuapp.com/negociacoes
    br.com.caelum.argentum.ws.ClienteWebService.getNegociacoes(ClienteWebService.java:26)
    br.com.caelum.argentum.bean.ArgentumBean.<init>(ArgentumBean.java:39)
    java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    java.base/java.lang.Class.newInstance(Class.java:584)
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
    com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
    com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
    com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
    com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
    org.apache.el.parser.AstValue.getValue(AstValue.java:161)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
    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.UIOutput.getValue(UIOutput.java:174)
    javax.faces.component.UIInput.getValue(UIInput.java:291)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:92)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:56)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeMarkup(InputMaskRenderer.java:99)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeEnd(InputMaskRenderer.java:57)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:89)
    org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
    org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)
    org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)
    org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1857)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
    com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

java.io.FileNotFoundException: http://argentumws-spring.herokuapp.com/negociacoes
    java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1941)
    java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1541)
    br.com.caelum.argentum.ws.ClienteWebService.getNegociacoes(ClienteWebService.java:23)
    br.com.caelum.argentum.bean.ArgentumBean.<init>(ArgentumBean.java:39)
    java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    java.base/java.lang.Class.newInstance(Class.java:584)
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
    com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
    com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
    com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
    com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
    org.apache.el.parser.AstValue.getValue(AstValue.java:161)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
    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.UIOutput.getValue(UIOutput.java:174)
    javax.faces.component.UIInput.getValue(UIInput.java:291)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:92)
    org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:56)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeMarkup(InputMaskRenderer.java:99)
    org.primefaces.component.inputmask.InputMaskRenderer.encodeEnd(InputMaskRenderer.java:57)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:89)
    org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
    org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)
    org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)
    org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1864)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1857)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1860)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
    com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/7.0.109

Olá, Erick.

Tudo bem?

Esse erro indica que o Tomcat não conseguiu instanciar a classe ArgentumBean, causando uma exceção ao tentar criar o managed bean. A raiz do problema parece estar na tentativa de acessar uma URL específica para obter dados, mas a URL não está disponível (retornando um FileNotFoundException). Aqui estão algumas possíveis causas e soluções:

  1. Verifique a URL: A URL http://argentumws-spring.herokuapp.com/negociacoes parece estar fora do ar ou inacessível. Tente acessar essa URL diretamente no seu navegador para verificar se ela está disponível. Se estiver fora do ar, você precisará corrigir ou substituir essa URL no código.

  2. Alterar o Web Service: Se a URL está fora do ar permanentemente, você pode precisar substituir o serviço Web chamado pela classe ClienteWebService por um equivalente que esteja ativo.

  3. Logar os Erros: Verifique os logs do Tomcat para mais detalhes sobre o erro. O stack trace completo pode fornecer pistas adicionais, como problemas de rede ou configurações do servidor.

  4. Ambiente de Desenvolvimento: Se você está rodando o projeto localmente para testes, assegure-se de que o ambiente de desenvolvimento está corretamente configurado e que todos os serviços externos necessários estão disponíveis.

Qualquer coisa manda mais detalhes, como o link da aula. Ou outros possíveis erros.

Espero ter ajudado. Qualquer dúvida manda aqui. Valeu.