我正在使用最新的JDK和JasperReports。报告是使用iReport(4.02)设计和编译的。编译的报告部署到Eclipse项目,该项目与Windows上的Tomcat安装集成。
问题是调用JasperFillManager.fillReport(String sourceFileName,Map params,Connection connection),并使用正确的参数,将导致异常,并显示消息“net.sf.jasperreports.engine.JRException:未找到类时从文件加载对象“。
我调试了代码,所有参数都有有效值。在iReport中预览时,报告也可以正常工作。我已经将Jasper项目lib目录中的所有jar文件复制到我的Web App Libraries中。
代码在实际代码中分为多个位置,但重要部分如下:
JasperPrint print = JasperFillManager.fillReport(templatePath, params, conn);
byte[] output = null;
try {
output = JasperExportManager.exportReportToPdf(print);
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return output;
答案 0 :(得分:5)
问题解决了。
问题是由iReport Designer引起的。我通过选择可用的预定义颜色列表而不是色轮来定义一些颜色格式。这会导致报告使用NetBeans jar中的变量而不是使用颜色值。