Maven编译源码出现错误:编码GBK的不可映射字符
原因:中文操作系统编码为GBK,MAVEN安装后默认使用系统编码GBK,导致在编译UTF-8格式的源代码文件时出现编码不匹配的问题。
处理步骤:
设置前:
设置windows环境变量:
Key: MAVEN_OPTS
Value: -Xms256m -Xmx512m -Dfile.encoding=UTF-8
设置后:
设置Maven项目编码(POM.xml)
//源码,输出,编译都是UTF-8
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
或者
<build>
<plugins>
<!-- 指定jdk,防止update project -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<!-- 项目编码-->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</build>
//源码,输出,编译都是GBK
<properties>
<project.build.sourceEncoding>GBK</project.build.sourceEncoding> <project.reporting.outputEncoding>GBK</project.reporting.outputEncoding> <maven.compiler.encoding>GBK</maven.compiler.encoding>
</properties>
注意:源文件也需要时UTF-8编码