poi学习过程遇到的bug,记录一下(Exception in thread “main“ java.lang.NoSuchFieldError: Factory)解决
·
项目场景:
项目有个需求 根据word 和ppt模板自动生成新的word和ppt
问题描述
在生成ppt的过程中报了一个错误Exception in thread "main" java.lang.NoSuchFieldError: Factory
而我重新创建一个项目跑就没有问题
Exception in thread "main" java.lang.NoSuchFieldError: Factory
at org.apache.poi.xslf.usermodel.XSLFSlideMaster.<init>(XSLFSlideMaster.java:66)
at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:61)
at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:661)
at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:165)
at org.apache.poi.xslf.usermodel.XMLSlideShow.<init>(XMLSlideShow.java:123)
at org.apache.poi.xslf.usermodel.XMLSlideShow.<init>(XMLSlideShow.java:137)
at com.dfsjsoft.nutzplus.module.template.ppt.PPTdemo01.main(PPTdemo01.java:42)

原因分析:
后来发现是版本冲突,我用word使用的是 poi-tl用的是1.8.0

,而我操作ppt 的时候用的poi和poi-ooxml 都是5.2.2

解决方案:
最后解决方法 把poi-tl换成更高的版本就行了

我换成1.12.0 完美解决
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)