2016-11-24 26 views
0

嗨我的項目編碼有問題。即使已配置,Maven安裝不會以UTF-8編碼

當我從eclipse運行JUnit測試時,沒有失敗。問題是當我做maven> clean maven>安裝時,其中一個測試失敗。

我有這樣的字符串:「ADMINISTRACIÓN」,這是很好,當我從Eclipse運行JUnit的,但我已經打印變量,當Maven做測試,這個字符串的值是:「ADMINISTRACIN」 。

我已經將每一個可以在eclipse中找到的編碼屬性更改爲UTF-8。 - 構型的POM這樣:

 (...) 
     <project> 
     <properties> 
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
      (...) 
     </properties> 
     </project> 
     (...) 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.0</version> 
      <configuration> 
       <encoding>UTF-8</encoding> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
    (...) 

但輸出是一樣的。我有一個和我一樣的項目的同事,和同樣的eclipse客戶端和配置,她的maven測試打印口音沒有問題。

有沒有進一步的想法?

非常感謝!

+0

我也嘗試在notepad ++中打開.java文件,並將編碼設置爲UTF-8,但沒有運氣。 –

+0

嘗試使用 ISO-8859-1 RLM

回答

0

嘗試與運行構建:

mvn -DargLine=-Dfile.encoding=UTF-8 clean insall 

如果幫助,您可以在項目配置萬無一失:可能出現

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine> 
      </configuration> 
     </plugin> 

問題,因爲System.out使用系統默認的編碼,就可以改變這種被設置file.encoding java屬性。

+0

謝謝,加上神火配置的伎倆! –

+0

@Jose或更新Surefire,因爲這是一個錯誤。您不需要設置文件編碼:請參閱https://issues.apache.org/jira/browse/SUREFIRE-951 – Tunaki