在用maven2编译打包时,命令行报错:
编码GBK的不可映射字符
编译失败,原因是java文件由于包含中文,而maven默认是采用GBK编码。
解决方案如下:
对于aven2,在项目的pom.xml文件的根节点下添加
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> |
对于maven3,添加
<build> <sourceEncoding>UTF-8</sourceEncoding> </build> |
为了更加方便说明,下面给出一个完整的例子:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.myexample</groupId> <artifactId>my-example</artifactId> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project> |
再次执行mvn clean package,编译成功。