maven编译提示:编码 GBK 的不可映射字符
解决这个问题的思路: 编译使用的字符集编码与代码文件使用的字符集编码一致!!
?
安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。
?
所以在很多中文XP win7上开发的同学,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。
?
通过修改pom.xml文件,可以告诉maven这个项目使用UTF-8来编译。
?
方案一:
??? 在pom.xml的/project/build/plugins/下的编译插件声明中加入下面的配置:
?
<encoding>UTF-8</encoding>
??? 即:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.1</version><configuration><source>1.6</source><target>1.6</target><encoding>UTF-8</encoding> </configuration></plugin>
?
方案二:
??? 在pom.xml的/project/properties/下的属性配置中加入下面的配置:
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
??? 即:
?
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding></properties>
?