Jaspersoft Studio 8.0.2中java.lang.ClassCastException问题排查求助
Jaspersoft Studio 8.0.2 ClassCastException 排查求助
环境与问题概述
- 使用版本:TIBCO Jaspersoft® Studio Professional 8.0.2(JasperReports 6.18.1可视化设计器)
- 触发场景:新笔记本重装软件、公司更新许可证后,打开报表时抛出
java.lang.ClassCastException,堆栈信息如下:
net.sf.jasperreports.engine.JRException: java.lang.ClassCastException at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:553) at com.jaspersoft.studio.editor.preview.view.control.ReportController.access$18(ReportController.java:528) at com.jaspersoft.studio.editor.preview.view.control.ReportController$1.run(ReportController.java:446) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: java.lang.ClassCastException
背景与已尝试操作
此前通过在fieldDescription中写入new BigDecimal($F{Order.OrdLegCount}),将Integer类型字段Order.OrdLegCount转为BigDecimal,并声明字段class为java.math.BigDecimal用于计算,未出现异常。
出现问题后,已尝试以下操作但未解决:
- 创建变量进行类型转换,代码如下:
<variable name="Leg_Count" class="java.math.BigDecimal"> <variableDescription><![CDATA[Leg_Count]]></variableDescription> <variableExpression><![CDATA[BigDecimal.valueOf($F{Order.OrdLegCount}.longValue())]]></variableExpression> <initialValueExpression><![CDATA[BigDecimal.valueOf(1)]]></initialValueExpression> </variable>
- 将所有Decimal类型变量的
initialValueExpression从0或1改为BigDecimal.valueOf(0)
求助点
现有堆栈信息无法定位到415行报表代码的具体报错行,求可行的排查方法。
内容的提问来源于stack exchange,提问作者Edward
相关产品推荐
相关产品推荐

