maven 项目 编码

今天在DOS下执行mvn compile命令时报错说缺少必要符号,事实上根本就没有缺少,但何以如此呢,为啥eclipse在编译时就没有这问题呢?

原因是编码的问题造成的!

eclipse在编译的使用使用的是UTF-8,因为整个项目设置的是UTF-8格式编码。

当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。

问题解决方案是在pom.xml文件中添加如下代码

  1. <properties>
  2. <!-- 文件拷贝时的编码 -->
  3. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  4. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  5. <!-- 编译时的编码 -->
  6. <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
  7. </properties>

或者添加如下代码:

    1. <plugin>
    2. <groupId>org.apache.maven.plugins</groupId>
    3. <artifactId>maven-compiler-plugin</artifactId>
    4. <version>3.1</version>
    5. <configuration>
    6. <source>1.5</source>
    7. <target>1.5</target>
    8. <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码 -->
    9. </configuration>
    10. </plugin>
    11. <plugin>
    12. <groupId>org.apache.maven.plugins</groupId>
    13. <artifactId>maven-resources-plugin</artifactId>
    14. <version>2.6</version>
    15. <configuration>
    16. <encoding>UTF-8</encoding><!-- 指定编码格式,否则在DOS下运行mvn命令时当发生文件资源copy时将使用系统默认使用GBK编码 -->
    17. </configuration>
    18. </plugin>
上一篇:SQL Server系统表介绍与使用


下一篇:3. Longest Substring Without Repeating Characters (ASCII码128个,建立哈西表)