Maven: 编码GBK的不可映射字符不能编译

时间:2024-06-14 09:24:06

使用mvn compile命令,出现错误: 编码GBK的不可映射字符不能编译。这是因为代码或注释中存在中文引起的,一般在ide中会自动处理编译时的字符集,就不会碰到这个错误。这个错误是在生成代码后,其中自动加上了中 文注释,手动删除中文注释处理这个问题太麻烦。这个错误是在命令行执行编译命令才出现的,需要设置编译的字符集,设置方式是:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding> 
    </configuration> 
</plugin> 

<encoding>UTF-8</encoding>如果不设置的话会用本地操作系统的编码来编译文件。

资源文件的编码设置如下:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
        <encoding>UTF-8</encoding> 
    </configuration> 
</plugin>

设置好maven-compiler-plugin编码再运行mvn compile就没有这个错误了。