poi报错org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException笔记
  ouxqUy9xyW8T 2023年11月02日 24 0


场景

使用poi时报错org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException 报错信息:

org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
        at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
        at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)

解决方案

这个报错比较明显,反射找不到类XSSFFactory,一般是jar包冲突。
完整的类名应该是:
org.apache.poi.xssf.usermodel.XSSFFactory 没有这个类,或者类名相同,路径名不对都是有问题的,说明没有这个类。

poi相关的poi有三个:poi、poi-ooxml、poi-ooxml-schemas
优先检查这3个即可。
高版本没有这个类了,建议用3.15(比较稳定的版本,且已知是支持XSSFFactory的)。
如果这3个类版本都是3.15了,pom.xml中也没找到其他poi相关配置,还是报错怎办呢?

还可能其他jar包依赖到这个包,再排查下依赖树(见文章 )。
最后发现果然有其他jar包依赖poi的版本是3.9,在那个依赖中排除掉,实测问题解决。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   111   0   0 Java
  8s1LUHPryisj   2024年05月17日   47   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
ouxqUy9xyW8T