Maven常见问题

  1. 命令行执行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

转载

本文出自<<arccode>>, 欢迎转载, 转载请注明出处.