使用Maven3.0 执行 mvn install 编码出错

在POM文件中包含如下内容: 
  <properties> 
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  </properties>

经反复试验和分析,发现这跟Maven版本有关。Maven3和Maven2版本变化不小,不完全兼容。

 

具体解决方法说明如下:  
 在确认POM文件中已有上述<project.build.sourceEncoding>内容的前提下,增加以下内容(如已包含maven-compiler-plugin的相关内容,则只需在相应位置增加红色字体部分内容):

  <build> 
    <plugins> 
      <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <configuration> 
          <source>1.5</source> 
          <target>1.5</target> 
          <encoding>UTF-8</encoding> 
        </configuration> 
      </plugin> 
    </plugins>    
  </build>

 注意: 

    1、同时指定<project.build.sourceEncoding>属性和<encoding>方式可适用于Maven2和Maven3。

    2、在Maven3中可以只增加<project.build.sourceEncoding>属性而不指定<encoding>,即能解决编译问题。如果只指定<encoding>编译不会出错,但会出现以下警告。建议两者都进行指定或只指定前者。警告信息如下:
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

    3、在Maven2中,如果只指定<project.build.sourceEncoding>属性则编译出错;如果只指定<encoding>编译不会出错,但会出现与第2点类似的警告,建议两者都进行指定,以免对运行产生影响。

 

 

 

  • 执行mvn,生成好jar包并在其它工程引用此jar及其源码jar,如果还是乱码,可能就是eclipse的配置问题了,确认windows->Preferences->general->Workspace->Text file encoding设置为UTF-8
  • 确认windows->Preferences->general->Content Types->右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update
posted @ 2013-03-05 13:55  Shaman  阅读(965)  评论(0编辑  收藏  举报