首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

JasperReports应用Scriptlet时,JRAbstractScriptlet的每个方法被执行了两次

2012-11-15 
JasperReports使用Scriptlet时,JRAbstractScriptlet的每个方法被执行了两次在JasperReports中使用了script

JasperReports使用Scriptlet时,JRAbstractScriptlet的每个方法被执行了两次
在JasperReports中使用了scriptlet,发现继承自JRAbstractScriptlet的每一个方法对于每一条记录都被执行了两次,而实际上只会被执行一次。后来发现这是classpath下有两个“重复”的jar包导致的。我把JasperReports3.6.1发行包dist下的jasperreports-3.6.1.jar和jasperreports-javaflow-3.6.1.jar两个jar包都放到了工程lib下,这两个jar包里的内容很多是相同的,它们也都有net.sf.jasperreports.engine.JRAbstractScriptlet类。删除jasperreports-javaflow-3.6.1.jar后就正常了(在JasperReports网站发行包下载页已标注该包是Optional)。
至少到3.6.1版本,都还有这个问题,也算是一个Bug了,因为通常情况下,系统找到一个可用的类后就不会再到其他的jar包里寻找了,而JasperReports会继续到其他的jar包中寻找同样可用的类。

热点排行