命令行执行
mvn clean package
–> 编码 EUC_CN 的不可映射字符,在Myeclipse下执行命令无此问题- 原因: 命令行编码使用
GBK
,而代码文件使用UTF-8
编码 解决方案:
- 方案一: 将命令行编码改为
UTF-8
- 方案二: 在pom.xml中指定使用
UTF-8
进行文件拷贝,编译 例如:
1
2
3
4
5
6
7<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>
- 方案一: 将命令行编码改为
- 原因: 命令行编码使用
或
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->
</configuration>
</plugin>
或
1
mvn clean package -Dencoding=utf8