Maven2编译J2EE工程,“编码 GBK 的不可映射字符”

本文介绍了解决Maven编译过程中因源代码含有中文而导致的“编码GBK的不可映射字符”错误的方法。首先在pom.xml中设置源代码编码为UTF-8,然后在maven-compiler-plugin中指定编码格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  下了个RichFaces的源代码,用Maven2.x编译源代码,Java文件中出现中文,命令行报错:“编码 GBK 的不可映射字符”,编译过程无法继续执行,搜索的信息说是Maven默认用GBK编码造成的。

  解决方案:Maven2.x

  在pom.xml文件的根节点下添加

<properties> 
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties>
   Maven3.x
<build>   
        <sourceEncoding>UTF-8</sourceEncoding>      
</build>
  修改之后,问题依然存在。从英文论坛里看到解决方法如下:在<build><plugins></plugins></build>中增加配置。
<plugin>
        <artifactId>maven-compiler-plugin</artifactId>    
        <configuration>   
                <encoding>utf8</encoding>  
        </configuration>
</plugin>
 在执行mvn clean package。编译通过。