POI 4.x深坑:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

今天在做一个Excel写入时,碰到一个问题

NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

POI 4.x深坑:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

 

 根据多年摸鱼经验来看,这么明显的错误,奈我何呢?不就是找不到方法吗?果断找到源码类中:

Crtl + F 搜索,发现果然没有:setEntityExpansionLimit 方法,好解决换版本(此时我用的 xmlbeans 是2.3.1版本)

POI 4.x深坑:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

 

 

经过百度的一番考察,发现大家对 2.6.0 版本的 xmlbeans 特别看好,那就决定是你了,下载后直接导入jar运行

仍然是:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

赶紧打开源码一看,发现仍然没有 setEntityExpansionLimit 方法

王德发??? 什么情况??剧情不一样啊这。。

赶紧又去下载了 3.1.0 版本,这次咱先不着急导入,用压缩工具打开jar包,找到:org/apache/xmlbeans/XmlOptions.class  文件用 神器 IDEA 直接打开看看

Crtl + F 搜索,终于发现了梦寐以求的小可爱就在这里!!!!

POI 4.x深坑:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

 

 找到 setEntityExpansionLimit 后,赶紧导入项目  - >  运行,完美执行:

POI 4.x深坑:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

 

 

 

最终结论:XmlOptions.setEntityExpansionLimit() 错误,是 jar 包版本引起的,3.0 版本以下的 xmlbeans 中根本没有该方法,需要将jar升级到 3.0+ 版本才可以

中途还有一个坑大家一定要注意!!!加入 xmlbeans 的jar以后,不要再加入 xbean.jar !!!不要再加入 xbean.jar !!!不要再加入 xbean.jar !!! 重要的事情搞三遍!!!

上一篇:用VSCode插件来一键填满Github的绿色格子吧-AutoCommit


下一篇:解决java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject报错问题