jtlgb

导航

 

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

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

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

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

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

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>  


或者添加如下代码: 

Xml代码  收藏代码
    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>
posted on 2017-09-14 09:35  jtlgb  阅读(242)  评论(0编辑  收藏  举报