java Jasper报告缓存JasperReport文件
我尝试创建一个基于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;
# 1 楼答案
如果您在Grails环境中,请全部删除。web app/reports/中的jasper文件在进行更改后刷新您的报告
然后可以重新编译。将jrxml转换为新的。贾斯珀档案
# 2 楼答案
使用compiledTemplate作为文件的原因是什么?试着这样做: