• 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.(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  
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    原因分析:

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

    解决办法

    1. 现在阿里云的SDK访问的接口也全部都是application/json的格式了, 并且我也没有使用到xml格式
    2. 我尝试直接排除依赖 pull-parser, 启动项目成功, 运行后也正常。
    3. 阿里对外提供的SDK真的是垃圾, 基本的依赖都没有清理好
  • 相关阅读:
    使用C语言实现最小生成树
    2023南昌航空大学考研介绍
    解决tiktoken库调用get_encoding时SSL超时
    算法笔记-第十章-图的遍历(未处理完-11.22日)
    vue3——pixi初学,编写一个简单的小游戏,复制粘贴可用学习
    Rust 语法
    一文读懂TDengine的窗口查询功能
    new Blob() 和 URL.createObjectURL()
    sqlite3简单使用
    部署主从数据库
  • 原文地址:https://blog.csdn.net/leisurelen/article/details/134338762