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

D

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.

D

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