zoukankan      html  css  js  c++  java
  • org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

    spring boot项目启动报错,错误提示如下:

    nested exception is org.springframework.beans.factory.BeanCreationException: 
    Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: 
    Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
    Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; 
    nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: 
    class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: 
    Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: 
    Error creating document instance. Cause: org.xml.sax.SAXParseException; 
    lineNumber: 1; columnNumber: 1; 前言中不允许有内容。;

     

    仔细肉眼检查了mybatis-config.xml和各个新提交的mapper映射文件,都看不出什么问题,百思不得其解。

    经大师提点,怀疑是字符编码问题,于是把新提交的mapper文件复制出来用notepad打开,点击格式菜单,发现这几个文件的编码格式都是 “以UTF-8格式编码”,改成 “以UTF-8无BOM格式编码”,保存之后再复制回来,启动项目,报错消失。

    原来这几个mapper文件都是由模板生成,模板生成出来的文件是UTF-8带BOM格式,java只认UTF-8无BOM格式。

     大多数记事本工具(Emedit等)默认是以utf-8 BOM方式,会在文件中加入BOM头,导致这个错误:

     Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1;前言中不允许有内容。

    用notepad打开,格式改成 “以UTF-8无BOM格式编码”即可。
    引用:
    https://www.cnblogs.com/zhangcybb/p/6529597.html

  • 相关阅读:
    centos7 部署kubernetes 1.20.1
    Pulse Width Modulation (PWM) interface
    imx6的IOMUX配置方法
    Linux下巧用转义符来完成多阶攻击
    记录一次半失败的php代码审计
    通过钉钉网页上的js学习xss打cookie
    PostMessage xss学习和挖掘
    解决Android微信支付官方demo运行失败
    Android集成银联支付,提示java.lang.UnsatisfieldLinkError错误
    解决 Plugin with id 'com.github.dcendents.android-maven' not found.
  • 原文地址:https://www.cnblogs.com/ideajiang/p/10790997.html
Copyright © 2011-2022 走看看