maven项目编译时提示“编码GBK或UTF-8的不可映射字符”![](https://i-blog.csdnimg.cn/blog_migrate/63973f84bd753cbb042297f8bcf49a8b.png)
原因:
需要在maven的编译插件中声明正确的字符集,保证编译使用的字符集编码与保存代码文件时使用的字符集编码一致。
Windows中文系统默认的字符集是GBK,安装的软件一般会使用操作系统的默认字符集,比如用maven编译项目时,maven默认使用GBK字符集,而代码源文件采用UTF-8字符集,才会出现上图所示的问题,分析了问题出现的原因,下面就好解决了,一般代码源文件都采用UTF-8编码,所以就从“修改maven”着手,而“修改maven”体现在修改pom文件上,可以用如下两种办法修改pom文件来告诉maven用UTF-8编码编译项目。
总的来说就是代码源文件的编码与maven编译插件的编码【默认为GBK】不相符。
解决办法:在pom文件中添加
<!--maven编译的时候默认使用的GBK编码, 通过project.build.sourceEncoding属性设置字符编码,通知maven使用UTF-8编译项目 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>