报错信息如下:
SAXReader在解析xml时报错,Invalid encoding name “GBK”。
从网络上查询解决方法,最终锁定在weblogic.jar的问题,因为开发的项目是本地开发测试使用tomcat,而在生产环境使用weblogic发布项目。此次解析xml报错正是因为weblogic中含有SAXReader相关的jar,我在本地测试功能使用了tomcat启动时,项目直接使用了weblogic里的jar进行了xml的解析,没有使用我们单独添加的新版本的dom4j,又因为weblogic里的jar不支持解析GBK编码格式的xml导致了此报错。
解决方法
在tomcat启动vm配置中设置指向我们要用的新版本的实现即可。
-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
此处要注意:由于生产环境使用weblogic发布项目时,可以配置WebLogic优先加载部署工程jar包,所以无上述的报错问题。想了解如何配置可以查看此文章weblogic配置
参考内容参见:
https://blog.csdn.net/hua00shao/article/details/44834405/