在 Eclipse 中使用 JasperReports 6.11.0,我将 .jrxml 文件预编译为 .jasper 文件。我的问题是,当我使用 jasper 文件作为报告加载时,它会抛出异常
net.sf.jasperreports.engine.JRException: Class not found when loading object from file
。这是我正在使用的代码:
JasperReport jasperReport = (JasperReport) JRLoader
.loadObjectFromFile("src/main/resources/Report.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
请注意,我尝试使用模板,但仍然抛出相同的异常。另外,当我在Java代码中编译jrxml时,它工作得很好。
InputStream input = new ClassPathResource("jasper.jrxml").getInputStream();
JasperDesign jasperDesign = JRXmlLoader.load(input);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
将搜索路径交换为此:
FileInputStream inputStream = new FileInputStream(Faces.getRealPath("/reports/produtos.jrxml")); JasperReport 卡米尼奥 = JasperCompileManager.compileReport(inputStream);