LogBack的日志报错解决办法 org.xml.sax.SAXNotRecognizedException

报错信息如下:

复制代码
18:00:57,395 |-ERROR in ch.qos.logback.core.joran.event.SaxEventRecorder@48aaecc3 - Error during parser creation or parser configuration org.xml.sax.SAXNotRecognizedException: unrecognized feature http://xml.org/sax/features/external-general-entities
   at org.xml.sax.SAXNotRecognizedException: unrecognized feature http://xml.org/sax/features/external-general-entities
   at 	at org.gjt.xpp.sax2.Driver.setFeature(Driver.java:178)
   at 	at org.gjt.xpp.jaxp11.SAXParserImpl.setFeatures(SAXParserImpl.java:149)
   at 	at org.gjt.xpp.jaxp11.SAXParserImpl.<init>(SAXParserImpl.java:132)
   at 	at org.gjt.xpp.jaxp11.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:114)
   at 	at org.gjt.xpp.jaxp11.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:142)
   at 	at ch.qos.logback.core.joran.event.SaxEventRecorder.buildSaxParser(SaxEventRecorder.java:88)
   at 	at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:62)
   at 	at  

原因分析:

  • 从报错日志可以看出是logback的xml日志解析出现问题, 报错相关的类是 org.gjt.xpp.sax2.等相关的类
  • 查找这些类所在的包为 pull-parser , 并且这个包的最新版本都是2005年的,都没有维护
  • 我并没有直接引入这个包, 继续查找发现是阿里云的SDK引入的老版本的dom4j包, dom4j再引入这个包导致的问题。
  • SDK被其他项目使用,最好做到少依赖,不依赖第三方包和过期包。 垃圾阿里云

解决办法

  1. 现在阿里云的SDK访问的接口也全部都是application/json的格式了, 并且我也没有使用到xml格式
  2. 我尝试直接排除依赖 pull-parser, 启动项目成功, 运行后也正常。
  3. 阿里对外提供的SDK真的是垃圾, 基本的依赖都没有清理好
相关推荐
天若有情6735 天前
Spring配置文件XML验证错误全面解决指南:从cvc-elt.1.a到找不到‘beans‘元素声明
xml·java·spring
私人珍藏库6 天前
[Windows] 发票识别工具。支持xml、pdf、ofd文件
xml·pdf
Derrick__17 天前
Python常用内建模块——XML
xml·python
梵得儿SHI7 天前
Java 操作 XML 及动态生成报告:从解析到实战
xml·java·jaxb·dom4j·xml解析·操作xml·报告生成
Fency咖啡7 天前
Spring Boot 内置日志框架 Logback - 以及 lombok 介绍
spring boot·后端·logback
张太行_9 天前
XML语言解析
xml
未来之窗软件服务9 天前
万象EXCEL开发(五)模拟excel行计算 ——东方仙盟练气期
xml·仙盟创梦ide·东方仙盟·万象excel
sun0077009 天前
网络配置config.xml的android.mk解析
android·xml
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ10 天前
mapper.xml中limit分页参数不能使用计算表达式问题
xml
余防10 天前
XXE - 实体注入(xml外部实体注入)
xml·前端·安全·web安全·html