Erro ao chamar JasperReport 6.2.0

6 respostas
J

Boa tarde,

Desenvolvi um relatório com o JasperReport 6.2.0 e agora estou tentando realizar a chamada do arquivo no Eclipse:

String caminho = FacesContext.getCurrentInstance()
                  .getExternalContext()
	          .getRealPath("/reports/pedido.jasper");

Map<String, Object> parametros = new HashMap<>();
parametros.put("ped_id", pedidoEdicao.getPed_id());
Connection conexao = ConexaoFactory.getConnection();
JasperPrint relatorio = JasperFillManager.fillReport(caminho, parametros, conexao);
JasperPrintManager.printReport(relatorio, true);

Quando executo aparece a seguinte mensagem no console do eclipse:

out 06, 2016 2:16:04 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute

ADVERTÊNCIA: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.DefaultJasperReportsContext

javax.el.ELException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.DefaultJasperReportsContext

at org.apache.el.parser.AstValue.invoke(AstValue.java:292)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)

at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIData.broadcast(UIData.java:1108)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at br.com.pedidos.filtros.SegurancaFiltro.doFilter(SegurancaFiltro.java:41)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.DefaultJasperReportsContext

at net.sf.jasperreports.engine.JasperFillManager.getDefaultInstance(JasperFillManager.java:87)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)

at br.com.pedidos.bean.PedidoBean.imprimirPedido(PedidoBean.java:350)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.el.parser.AstValue.invoke(AstValue.java:279)

 35 more
out 06, 2016 2:16:04 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError

GRAVE: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.DefaultJasperReportsContext

at net.sf.jasperreports.engine.JasperFillManager.getDefaultInstance(JasperFillManager.java:87)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)

at br.com.pedidos.bean.PedidoBean.imprimirPedido(PedidoBean.java:350)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.el.parser.AstValue.invoke(AstValue.java:279)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)

at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIData.broadcast(UIData.java:1108)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at br.com.pedidos.filtros.SegurancaFiltro.doFilter(SegurancaFiltro.java:41)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Nunca vi essa mensagem, alguém poderia me ajudar?

6 Respostas

drsmachado

Utiliza maven ou está gerenciando as libs na mão?
ADVERTÊNCIA: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.DefaultJasperReportsContext indica que a versão que está utilizando não é correspondente à uqe possui esta classe.

J

Boa tarde drsmachado,

Utilizo na mão, pois já é um projeto em andamento e que agora preciso desenvolver os relatórios.
Coloquei os jars: jasperreports-6.2.0.jar, jasperreports-fonts-6.2.0.jar, jasperreports-functions-6.2.0.jar, jasperreports-javaflow-6.2.0.jar na pasta lib do webinfo (JSF).

Desde já obrigado pela atenção.

drsmachado

Está rodando em um apache tomcat ou outro servlet container ou num application server como JBoss ou GlassFish?

J

Tomcat 7

J

Alguma sugestão do que possa resolver?
Estou desesperado atras de uma solução.

Obrigado!

J

Adicionei os jars no build path e agora apresenta a mensagem:
“ADVERTÊNCIA: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JasperFillManager
javax.el.ELException: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JasperFillManager”

Alguma sugestão do que possa ser?

Criado 6 de outubro de 2016
Ultima resposta 8 de out. de 2016
Respostas 6
Participantes 2