我是jasper报道的新手,我需要使用BeanDatasource和子报表创建pdf文档。 我引用了以下博客“http://knol.google.com/k/jasper-reports-working-with-beans-and-sub-report#”。我完全遵循了所有步骤。当我使用IReport运行报告时,我可以获得包含内容的pdf文档。但是当我们尝试从java程序创建时,我会在以下行中获得异常
第110行:“ JasperFillManager.fillReportToFile(”C:/JasperReports/contacts.jasper“,参数,新JRBeanCollectionDataSource(TestPerson.getBeanCollection())); ”
这是我在Eclipse控制台窗口中收到的以下错误。
java.lang.NullPointerException at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at java.lang.reflect.Method.invoke(未知来源)at java.io.Object.StreamClass.invokeReadObject(未知来源)at java.io.ObjectInputStream.readSerialData(未知来源)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)at java.io.ObjectInputStream.readObject0(未知来源)at java.io.ObjectInputStream.defaultReadFields(未知来源)at java.io.ObjectInputStream.readSerialData(未知来源)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)at java.io.ObjectInputStream.readObject0(未知来源)at java.io.ObjectInputStream.readArray(未知来源)at java.io.ObjectInputStream.readObject0(未知来源)at java.io.ObjectInputStream.defaultReadFields(未知来源)at java.io.ObjectInputStream.readSerialData(未知来源)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)at java.io.ObjectInputStream.readObject0(未知来源)at java.io.ObjectInputStream.defaultReadFields(未知来源)at java.io.ObjectInputStream.readSerialData(未知来源)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)at java.io.ObjectInputStream.readObject0(未知来源)at java.io.ObjectInputStream.readObject(未知来源)at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88) 在 net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLoader.java:257) 在 net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:308) 在 net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:257) 在 net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275) 在 net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814) 在 net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) 在 net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) 在test.TestJasperReport.main(TestJasperReport.java:110)
答案 0 :(得分:7)
答案 1 :(得分:1)
您传递给报告的属性看起来像是空的。
我建议在调试中逐步执行代码。