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

在启动Tomcat项目时,控制台报错:nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 2 无效。

该错误是由于一些配置文件如:applicationContext.xml的编码原因。

在配置文件中引入了<?xml version="1.0" encoding="UTF-8"?>, 在配置文件可能包含有中文注释,导致在编译后中文注释在配置文件乱码抛异常。

有些解决方法提到将该文件改为GBK编码,但由于我们项目本身是UTF-8编码的,所以这种方式是行不通的。

由于我的项目是Maven构建的,所以在项目依赖配置文件pom.xml上加入构建项目编码属性:

<properties>
  <project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
</properties>

参考:

https://blog.csdn.net/echo_oy/article/details/55118238

原文地址:

https://www.cnblogs.com/poterliu/p/10094873.html