【发布时间】:2016-07-03 21:13:46
【问题描述】:
我在我的 Spring 应用程序中使用 Jasper Reports。我通过eclipse将我的应用程序部署在Tomcat 6服务器上,所以我的项目是一个WTP项目。我遇到的问题是,当我更改 Jasper 报告文件 (jrxml) 时,我需要重新启动服务器才能发布更改。我已经检查了部署文件夹并更新了 .jrxml,但由于某种原因,浏览器不断获取旧报告,我已经清除了浏览器上的缓存,但运气不佳。
关于如何解决这个问题的任何想法,在进行开发时都非常烦人。
【问题讨论】:
-
这不是 Tomcat 问题...这是 JasperReports 问题。您是使用 JasperServer 还是编写自己的代码来加载
.jrxml文件、编译它、填充数据等等? -
我添加了 Spring 配置文件以直接加载 .jrxml,并在 Spring Controller 方法上填充数据。谢谢
-
所以问题是文件被缓存在哪里。它可以在 JasperReports 组件、Spring 组件或 Tomcat 本身中。 Tomcat 将缓存使用任何机制加载的文件,例如
[Webapp]ClassLoader.findResource。如果您使用FileInputStream或以其他方式自己获取字节,则缓存不在 Tomcat 中,您将不得不查看其他地方(即问题不是 Tomcat 特定的)。
标签: spring tomcat jasper-reports