:scrambleup: Gente, estou tentando gerar um relatório e ando tendo um problema sério. O código que chama o relatório (que foi compilado sem problemas) está aí embaixo. Os dados vêm de um arquivo separado por vírgula. Já fiz esse relatório funcionar, mas não sei exatamente o que mudei e ele passou e dar uma exceção que eu desconheço. Apesar de termos um try/catch pegando Exception, a exceção não é pega e é lançada para a saída do sistema. Eis a exceção e o trecho de código:
[quote=“Saída do sistema”]java.lang.ExceptionInInitializerError
at dori.jasper.engine.fill.JRFiller.fillReport(JRFiller.java:150)
at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:350)
at dori.jasper.engine.JasperManager.fillReport(JasperManager.java:882)
at meuPacote.ActionHandler.gerarEExibirRelatorio(ActionHandler.java:814)
at meuPacote.ActionHandler.actionPerformed(ActionHandler.java:178)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:558)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:355)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390)
at dori.jasper.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:121)
… 29 more
Caused by: java.lang.NullPointerException
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:543)
… 32 more
[/quote]
[code]try{
JasperReport report = JasperManager.loadReport(CaminhosDeArquivos.RELATORIO);
Map parameters = new HashMap();
parameters.put("a", a);
parameters.put("b", b);
System.out.println(parameters);
JasperPrint print = JasperManager.fillReport(report, parameters,
new MyData(CaminhosDeArquivos.DADOS));
JasperViewer.viewReport(print, false);
}
catch(Exception exception){
System.err.println("Erro gerando ou exibindo relatório.");
}[/code]
Os detalhes:
:arrow: Uso Jasper Reports, iReport, JDK1.4.2 e Eclipse
Alguém pode ajudar?