之前在项目中使用iReport,凡是涉及到子报表的,一旦执行完JasperFillManager.fillReport()方法,就出现以下异常:
java.lang.NullPointerException at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
网上查阅了不少资料,总结为以下两种情况:
情况1:
Jasperreport.jar这个jar包冲突或者版本不对。我的iReport版本是3,之前用的Jasperreport.jar是2点几,后改为jasperreports-3.1.2.jar即可;
情况2:
iReport中部分数据类型有误。譬如:将java.util.Timestamp类型改为:java.util.Date就可以了。