解决这个问题的思路: 在maven的配置中声明正确的字符集编码——编译使用的字符集编码与代码文件使用的字符集编码一致!!

 

安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。

 

所以在很多中文XP win7上开发的同学,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 通过修改pom文件,可以告诉maven这个项目使用UTF-8来编译。在pom的/project/build/plugins/下的编译插件声明 中加入下面的配置:

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

 

注意: 我的情况是:   我的 Java 源文件是 gbk 编码, 而 maven 骨架生成的pom.xml 中project.build.sourceEncoding 是 UTF-8.