【发布时间】:2021-03-04 17:42:38
【问题描述】:
我尝试创建一个基于 servlet 的报告服务。
当应用程序正在运行并且我更改 .jrxml 文件时,我的应用程序仍然 给我的报告没有改变设计,所以我认为 jasper 将它缓存在某个地方。
如何关闭或强制清除此缓存?
File compiledTemplate=new File(JASPER_COMPILED_TEMPLATES_PATH+ File.separator+templateName+".jasper");
File template=new File(JASPER_TEMPLATES_PATH+File.separator+templateName+".jrxml");
JasperReport jasperReport=null;
if(compiledTemplate.exists()){
compiledTemplate.delete();
}
JasperCompileManager.compileReportToFile(template.getAbsolutePath(),compiledTemplate.getAbsolutePath());
jasperReport=(JasperReport) JRLoader.loadObjectFromFile(compiledTemplate.getAbsolutePath());
return jasperReport;
【问题讨论】:
-
报告更新后必须重新编译
标签: java jasper-reports