今天在做一個Excel寫入時,碰到一個問題
NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()
根據多年摸魚經驗來看,這么明顯的錯誤,奈我何呢?不就是找不到方法嗎?果斷找到源碼類中:
Crtl + F 搜索,發現果然沒有:setEntityExpansionLimit 方法,好解決換版本(此時我用的 xmlbeans 是2.3.1版本)
經過百度的一番考察,發現大家對 2.6.0 版本的 xmlbeans 特別看好,那就決定是你了,下載后直接導入jar運行
仍然是:NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()
趕緊打開源碼一看,發現仍然沒有 setEntityExpansionLimit 方法
王德發??? 什么情況??劇情不一樣啊這。。
趕緊又去下載了 3.1.0 版本,這次咱先不着急導入,用壓縮工具打開jar包,找到:org/apache/xmlbeans/XmlOptions.class 文件用 神器 IDEA 直接打開看看
Crtl + F 搜索,終於發現了夢寐以求的小可愛就在這里!!!!
找到 setEntityExpansionLimit 后,趕緊導入項目 - > 運行,完美執行:
最終結論:XmlOptions.setEntityExpansionLimit() 錯誤,是 jar 包版本引起的,3.0 版本以下的 xmlbeans 中根本沒有該方法,需要將jar升級到 3.0+ 版本才可以
中途還有一個坑大家一定要注意!!!加入 xmlbeans 的jar以后,不要再加入 xbean.jar !!!不要再加入 xbean.jar !!!不要再加入 xbean.jar !!! 重要的事情搞三遍!!!