我正在使用JasperReport
生成PDF
。现在我正在使用已编译的.jasper
文件,但如果出现错误,我想要backup
让Jasper
重新编译原始JRXML
文件。
我怎样才能做到这一点?这是最佳做法吗?
这是我的代码:
InputStream reportC1 = ReportService.class.getResourceAsStream(JASPER_IN_PACKAGE);
bytes = JasperRunManager.runReportToPdf(reportC1, params, new JRBeanCollectionDataSource(records));
PdfReader doc = new PdfReader(bytes);
其中JASPER_IN_PACKAGE
是.jasper
文件的常量。
答案 0 :(得分:2)
您可以使用
轻松编译.jrxml文件JasperCompileManager.compileReportToFile(sourceFile, targetFile);
其中sourceFile
是。{rrxml的File
,targetFile
是您要创建的.jasper文件的File
。
对于“最佳实践”:如果相应的.jasper文件比.jrxml文件旧,我总是只部署.jrxml文件并编译它们。这使我可以轻松编辑源文件,而无需在本地编译它们。恕我直言也是最佳实践,因为一个人永远不应该提交任何可以重建的东西,特别是二进制内容。