2013-10-21 15 views
5

ich ein Maven-Projekt habe, das die folgenden Eigenschaften konfiguriert wird:Maven Projekt Quellencodierung funktioniert nicht

<properties> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 

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

Auf meinem Rechner funktioniert alles mit diesen Einstellungen in Ordnung. Jedoch auf einem anderen Rechner, wenn ich es ausprobieren und versuchen, es mvn install die Compiler-Fehler zu bauen mit unmappable character for encoding ASCII:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project scuttle: Compilation failure: Compilation failure: 
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/handlers/sakai/SakaiVV.java:[99,39] error: unmappable character for encoding ASCII 
[ERROR] 
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/handlers/sakai/SakaiVV.java:[99,40] error: unmappable character for encoding ASCII 
[ERROR] 
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/domain/sakai/SakvvTermin.java:[66,30] error: unmappable character for encoding ASCII 
[ERROR] 
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/domain/sakai/SakvvTermin.java:[66,31] error: unmappable character for encoding ASCII 

Ich habe bereits versucht mvn mit -Dfile.encoding=UTF-8 läuft, aber das hat nicht geholfen. $LC_CTYPE Berichte UTF-8.

Was kann ich tun?

Sie können die komplette pom-Datei hier: https://github.com/scravy/scuttle/blob/master/pom.xml

+0

Sind Sie 100% sicher, dass Ihre Quellen UTF-8-codiert sind? Möglicherweise sind sie nicht, aber es funktioniert in Ihrer Umgebung aus irgendeinem Grund (vielleicht stört Ihre IDE) – sola

+3

Bitte aktualisieren Sie Ihre Maven-Compiler-Version Ursache 2.0.2 ist wirklich alt. Derzeit haben wir 3.1 .. – khmarbaise

+0

Haben Sie das gleiche Problem mit Standard-Maven-Compiler-Plug-in v2.0.2. Zunehmende Version löst das Problem. – gavenkoa

Antwort

9

der Kommentar von khmarbaise Am Ende mir eine Lösung finden geholfen: Es

ich konfiguriert, um den Compiler-Plugin und spezifiziert die Quellencodierung, funktioniert jetzt alles überall:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
     <source>1.7</source> 
     <target>1.7</target> 
     <encoding>UTF-8</encoding> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
+1

Schön, dass Sie selbst die Lösung für Ihr Problem gefunden haben! –

2

Sie haben alle die richtigen Einstellungen in Ihrem pom, so dass gut ist. Stellen Sie sicher, dass Ihre IDE (und die anderen, die von Ihrem Team verwendet werden, falls zutreffend) für UTF-8 konfiguriert ist.

Als nächstes reinigen Sie Ihre lokalen .m2 Repository und führen Sie Ihren Build erneut. Möglicherweise wurde eine Ihrer transitiven Abhängigkeiten nicht mit der richtigen Kodierung kompiliert. Aber Sie haben möglicherweise die "richtige" Version in Ihrem .m2, die alles in Ordnung macht, während die gleiche Version auf dem anderen Computer nicht existiert.

Viel Glück! Ich weiß, wie nervig dieses Zeug sein kann.

1

Statt maven entscheidet sich der Einstellung , neue Umgebungsvariable festlegen - JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8

Verwandte Themen