使用DynamicReport对象加载jrxml文件时的NullPointer

时间:2014-02-26 22:24:53

标签: java jasper-reports dynamic-jasper

我正在尝试将 JasperReports jrxml模板加载到我的 DynamicReport 对象中,但是我得到一个空指针,却不知道它来自何处。

代码实际上是这样的:

DynamicReport dr = new DynamicReport();
DynamicReportBuilder drb = new DynamicReportBuilder();
......
drb.setTemplateFile("styles/myreport.jrxml");
dr = drb.build();

然后我打电话给

 JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), resultSetDataSource);

错误是这样的:

java.lang.NullPointerException
at ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperDesign(DynamicJasperHelper.java:200)
at ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperReport(DynamicJasperHelper.java:535)
at ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperReport(DynamicJasperHelper.java:518)
at ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperPrint(DynamicJasperHelper.java:283)
at ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperPrint(DynamicJasperHelper.java:236)

有没有人有任何想法?

ps:我正在使用 DynamicJasper 3.1.8 iReport 5 (尝试使用4)。

1 个答案:

答案 0 :(得分:1)

DynamicJasper和JasperReport需要相互兼容,我认为这是你的问题。

请查看以下兼容性:

DJ 5.x works with JasperReposrts 4.6+ (and 5.0+, 5.1+ and 5.2) and needs JDK 1.6
DJ 4.x workrs with JasperReports 4.1 to 4.5.x
DJ 3.0.5 works with JR 3.5 up to 4.0

注意:确保您的jrxml编译为Jasper版本。