项目场景:
使用JasperReports进行PDF导出
问题描述
请求导出时抛出异常:
nested exception is java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByte
原因分析:
经过多方百度,发现JasperReports依赖只使用itext:2.1.7版本
发现源:https://blog.youkuaiyun.com/zhaluo_dehezi/article/details/83990351
为什么只使用2.1.7,官方也给了回复:https://community.jaspersoft.com/jasperreports-library/issues/14011

解决方案
将itext版本换为2.1.7:
<!--jasperReport 的依赖只和 itext的 2.1.7 版本兼容.不兼容其他版本-->
<!--https://community.jaspersoft.com/jasperreports-library/issues/14011-->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.19.0</version>
<exclusions>
<!--与下面的依赖冲突,原依赖:2.1.7.js9,可能无法下载,所以排除-->
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
本文介绍了解决在使用JasperReports进行PDF导出时遇到的NoClassDefFoundError异常的方法。通过调整itext版本至2.1.7并正确配置依赖,可以有效避免该异常。
4万+

被折叠的 条评论
为什么被折叠?



