2012-04-02 15 views
16

po uruchomieniu mvn --version część danych wyjściowych zawiera kodowanie locale i platformowe. Na przykład: Default locale: en_GB, platform encoding: Cp1252kodowanie maven

Chciałbym wiedzieć, gdzie zbiera się od nich i jak można je ustawić

Odpowiedz

26

Maven zbieranie tych wartości z właściwości systemowe Java. Oto w jaki sposób można ustawić kodowanie:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

czyli

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <configuration> 
     <encoding>UTF-8</encoding> 
    </configuration> 
    </plugin> 

albo przekazać parametr do Maven wiersza polecenia:

mvn -Dproject.build.sourceEncoding=UTF-8 
+7

Najlepszym rozwiązaniem jest umieszczenie tego rodzaju informacji do pom lub do firmy pom NIGDY na linii poleceń. – khmarbaise

18

można ustawić środowisko informacje dla Maven z

set MAVEN_OPTS= -Duser.language=fr -Dfile.encoding=UTF-8 
+0

Tego właśnie szukałem. Dzięki – cdog

+1

@cdog, byłoby miło, jeśli oznaczysz ten post jako odpowiedź, aby inni mogli go od razu zobaczyć. – imy

2
set MAVEN_OPTS= -Dfile.encoding="UTF-8" 

Właściwie to nie zadziała, trzeba usunąć cudzysłowy (""):

set MAVEN_OPTS= -Dfile.encoding=UTF-8 
+0

najmniej na cygwin musisz zastąpić zestaw eksportem i wartość musi być cytowana jak: 'export MAVEN_OPTS =" -Dfile.encoding = UTF-8 "' – bernstein

2

miałem taki sam problem. Jedyną rzeczą, która działa, jest ustawienie odpowiedniego MAVEN_OPTS na . Więc jeśli używasz systemu Windows można dostosować mvn.bat w% MAVEN_HOME%/bin następująco:

set MAVEN_OPTS=%MAVEN_OPTS% -Dfile.encoding="UTF-8" 

następstwie tego mvn -v pokazuje to:

.. 
Default locale: de_DE, platform encoding: UTF-8 
..