Pessoal,
Tenho uma aplicação e toda as vezes que clico no botão para gerar o relatório surge uma mensagem de erro: NullPointerException, já testei de várias formas, inclusive com o relatório em branco e mesmo assim o erro persiste, por favor uma ajuda.
> jan 05, 2018 5:56:44 AM javax.faces.event.MethodExpressionActionListener processAction
> GRAVE: 'java.lang.NullPointerException' recebido ao invocar escuta de ação '#{fabricanteBean.imprimir}' para o componente 'j_idt29'
> jan 05, 2018 5:56:44 AM javax.faces.event.MethodExpressionActionListener processAction
> GRAVE: java.lang.NullPointerException
> at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:138)
> at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:555)
> at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396)
> at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:91)
> at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:286)
> at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)
> at br.com.drogaria.bean.FabricanteBean.imprimir(FabricanteBean.java:156)
> 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:278)
> 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:84)
> at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:773)
> at javax.faces.component.UICommand.broadcast(UICommand.java:296)
> at javax.faces.component.UIData.broadcast(UIData.java:912)
> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
> at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
> at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
> at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
> 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 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:503)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> 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)
>
> jan 05, 2018 5:56:44 AM com.sun.faces.context.AjaxExceptionHandlerImpl log
> GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=j_idt23:j_idt26, Message=java.lang.NullPointerException
> jan 05, 2018 5:56:44 AM com.sun.faces.context.AjaxExceptionHandlerImpl log
> GRAVE: java.lang.NullPointerException
> javax.faces.event.AbortProcessingException: java.lang.NullPointerException
> at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:178)
> at javax.faces.event.ActionEvent.processListener(ActionEvent.java:84)
> at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:773)
> at javax.faces.component.UICommand.broadcast(UICommand.java:296)
> at javax.faces.component.UIData.broadcast(UIData.java:912)
> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
> at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
> at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
> at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
> 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 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:503)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> 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.NullPointerException
> at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:138)
> at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:555)
> at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396)
> at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:91)
> at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:286)
> at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)
> at br.com.drogaria.bean.FabricanteBean.imprimir(FabricanteBean.java:156)
> 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:278)
> at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
> at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
> ... 30 more
>
> Hibernate: select fabricante0_.fab_codigo as fab_codi1_0_, fabricante0_.fab_descricao as fab_desc2_0_ from tbl_fabricante fabricante0_
Na view: fabricantePesquisa.xhtml
<p:commandButton icon="ui-icon-print" actionListener="#{fabricanteBean.imprimir}"/>
No FabricanteBean:
public void imprimir(){
try{
String caminho = Faces.getRealPath("/reports/fabricante.jasper");
Map<String, Object> parametros = new HashMap<>();
Connection conexao = HibernateUtil.getConexao();
JasperPrint relatorio = JasperFillManager.fillReport(caminho, parametros, conexao);
JasperPrintManager.printReport(relatorio, true);
}catch(JRException e){
FacesUtil.adicionarMsgInfo("Ocorreu um erro ao tentar gerar o relatorio: "+e);
e.printStackTrace();
}
}