• The reference to entity “test” must end with the ';' delimiter 异常处理


     

    今天修改了配置文件中的一个配置项值,将原先的url连接中加入了一个&source=upload,结果在应用启动的时候报错了。错误栈如下:

     

    Java代码  收藏代码
    1. Caused by: org.xml.sax.SAXParseException: The reference to entity "test" must end with the ';' delimiter.  
    2.         at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)  
    3.         at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)  
    4.         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)  
    5.         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)  
    6.         at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)  
    7.         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown Source)  
    8.         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)  
    9.         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)  
    10.         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)  
    11.         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)  
    12.         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)  
    13.         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)  
    14.         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)  
    15.         at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)  
    16.         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)  
    17.         ... 176 more  

    上网google,发现是sax解析造成的问题。解决方案很简单,就是把配置项值中用到"&"的地方改成"&"。原因是sax解析的类库在读取文件的时候是根据转义后的格式进行读取的,遇到"&"就认为是一个转义字符串,开始找结束符";",找不到自然就报错了。

  • 相关阅读:
    对es6中Promise和async的理解
    js里面的map、filter、forEach、reduce、for in、for of等遍历方法
    浏览器怎么解析一个hmtl文档
    js获取浏览器版本
    js中的浅复制和深复制
    作为一个程序员,如何调试抓取跳转页面前发送的请求
    escape、unescape、encodeURIComponent、decodeURLComponent
    css超过一定长度显示省略号 强制换行
    gojs去除水印
    版本控制系统svn的超基础使用
  • 原文地址:https://www.cnblogs.com/ningxu/p/3337167.html
Copyright © 2020-2023  润新知