项目场景:

使用jasperReport渲染pdf模板,本地环境可以正常导出,部署到k8s测试环境后,无法正常渲染.


问题描述

pdf模板在k8s上已经找到,渲染数据出错
JasperFillManager.fillReport返回java.lang.IllegalArgumentException:name

JasperPrint jasper =JasperFillManager.fillReport(jasperReport,jrInputInfo.getParameters(),jrDataSource)

原因分析:

1.代码里封装的数据字段与pdf模板字段没有映射上
2.jrxml的名称不合法
3.pdf模板引用的图片url在测试服务器上未生效


解决方案:

尝试了多种方案,jasper更换版本,重新绘制模板,更换jrxml的名字,清理缓存等等都不生效!!!
翻阅JasperFillManager的底层源码分析,也没有发现任何问题。

后面经过不断尝试,更换了图片的url之后莫名成功了,建议没有基础的同学不要轻易尝试jasperReport,
报错之后真的不太好查找!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐