100%解决xml 文件中文注释 报错 3 字节的 UTF-8 序列的字节 3 无效

最近在做SSM整合项目的时候,总是到最后一步部署Tomcat时控制台报错,而报错的原因却着实令笔者本人头痛。

先看一下报错原因

Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。  

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)  

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:435)  

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)  

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(XMLEntityScanner.java:1252)  

    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(XMLScanner.java:778)  

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanComment(XMLDocumentFragmentScannerImpl.java:1046)  

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2980)  

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)  

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)  

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)  

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)  

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)  

    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)  

    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)  

    at org.apache.ibatis.parsing.XPathP

着这一幕的时候,只是想着可能IDEA中编码配置有问题,但是经过盘查之后,IDEA中的编码确实没有设置为UTF-8
在这里插入图片描述
但是设置之后还是没有任何效果,依旧报上面的字节码错误。
笔者也是经历了一周的魔鬼时刻,能查到的方法几乎都尝试了一遍,但仍然没有任何改变。
最后笔者更是硬着头皮下载了源代码,看过之后才发现,在底层源码设置编码格式是默认设置的是null值,也就是说在创建项目时,默认编码就是和电脑本身的编码格式一致使用的是GBK,所以才会导致xml文件中添加中文注释报出上述错误!
历经千辛万苦笔者还是列总下来了以下几种解决方案希望能够帮助大家解决问题:

第一种解决方法

直接删除中文注释、简单直接,但是对于像我这样的新手来说,后期读起xml配置文件简直要发疯

第二种解决方法

将所有xml配置文件中的UTF-8修改为GBK即可
但是太过于耗费时间,也不能每次做项目都要修改、显然不现实!
在这里插入图片描述

第三种解决方法

在设置Tomcat的时候,在VM options框中输入

-Dfile.encoding=utf-8

启动项目的时候就可以解决字节码报错的问题
相对于前两种、笔者更推荐第三种方法!
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT派同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值