maven异常解决:编码GBK的不可映射字符
直接将项⽬改为UTF-8编码,⽆效!
要通过修改pom.xml⽂件,告诉maven这个项⽬使⽤UTF-8来编译。
⼀、问题描述
今天在MyEclipse中使⽤Maven编译项⽬源代码时,结果如下了如下的错误
百思不得其解啊,源代码在MyEclipse中显⽰是没有任何错误的,可是执⾏\"maven install\"命令编译项⽬时就会出现上述的错误,导致项⽬编译失败。这个问题还是第⼀次遇到,还好在这⾥http://capslk.iteye.com/blog/1419958看到了解决问题的办法。
⼆、解决办法
解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使⽤的字符集编码与代码⽂件使⽤的字符集编码⼀致!! 安装系统之后,⼀般中⽂系统默认字符集是GBK。我们安装的软件⼀般都继承使⽤的默认字符集。所以当在中⽂XP或者win7系统开发,在使⽤maven(mvn compile)编译项⽬的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使⽤的UTF-8,⽽maven编译的时候使⽤的GBK的缘故。 可以通过修改项⽬的pom⽂件,可以告诉maven这个项⽬使⽤UTF-8编码来编译。在项⽬的pom.xml⽂件中添加下⾯的配置:
UTF-8
UTF-8
UTF-8
或者在pom.xml的/project/build/plugins/下的编译插件声明 中加⼊下⾯的配置: utf8
maven-compiler-plugin 1.6 1.6
utf8
org.apache.maven.plugins maven-resources-plugin 2.6 UTF-8
这两种⽅案都可以解决上述的问题,可以根据个⼈习惯来设置,如下图所⽰⽅式是采⽤配置属性来指明编译采⽤的字符编码。今天被这个问题折腾够久了,还好及时找到了解决办法,在此记录⼀下解决⽅案。本⽂转⾃: