解决这个问题的思路: 在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.