BeanDefinitionStoreException,MalformedByteSequenceException: Invalid byte 3 of 3-byte的解决方法

在使用Eclipse进行Maven Web项目开发时,遇到配置Maven profile后部署到Tomcat时报错。问题在于Spring解析配置文件时出现编码错误,通过检查并修改maven-resources-plugin插件的编码设置,最终成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用Eclipse做maven web项目,配置maven的profile,部署到tomcat时总是报

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource [spring-config.xml]; nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.
//中间信息省略
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.

错误信息显示:是spring解析spring-config.xml配置文件时发生编码错误!
但查看了整个项目和配置文件的编码格式全是UTF-8!!!

那么问题来了,到底是那个环节造成了配置文件的编码格式不对?!!!
感觉应该是maven出现了问题,查看了maven中和资源文件处理有关的maven-resources-plugin的作用,是部署时,将项目的资源文件复制到对应的文件夹中
于是考虑配置pom中maven-resources-plugin插件的编码方式为UTF-8,如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

因为修改了pom配置,所以手动地更新一下maven项目,是maven的更新项目!可以选中项目名,然后alt+F5快捷键更新项目,然后重新部署,显示部署正常,问题搞定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值