Wie kann man die Maven Build-Plattform unabhängig machen?

93

Wenn ich mit Maven auf meinem Mac baue, mvn installbekomme ich weiter

[WARNUNG] Verwenden der Plattformcodierung (eigentlich MacRoman) zum Kopieren gefilterter Ressourcen, dh der Build ist plattformabhängig!

Ist es möglich, entweder für eine bestimmte Plattform (Linux) zu erstellen oder die Build-Plattform auf andere Weise unabhängig zu machen?

James Raitsev
quelle

Antworten:

171

Dies geschieht, wenn Sie in Ihrer pom.xml nicht Folgendes angegeben haben

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

Wenn dies nicht der Fall ist, verwenden Sie eine plattformspezifische Codierung. Aus diesem Grund wird die Warnung angezeigt.

Kalpak Gadre
quelle
2
Sie finden die Lösung auch auf der FAQ-Seite von Maven. http://maven.apache.org/general.html#encoding-warnin
Jeff7566
Ja, nachdem ich die in Ihrer Antwort genannten Zeilen hinzugefügt habe, funktioniert meine ohne Vorwarnung gut. danke Kal
Ripon Al Wasim
7

Und wenn die Antwort von @ Kal bei Ihnen nicht funktioniert, können Sie vielleicht aus meinen letzten 30 Minuten lernen ... Der folgende Link fügt der obigen Antwort eine zusätzliche Zeile hinzu und löst mein Problem. Mein Problem hing mit dem Maven-Resources-Plugin 2.6 zusammen, aber der Anbieter der folgenden Lösung hatte ein anderes Problem, das es löste ... https://stackoverflow.com/a/3018152/2485075

Mike
quelle
Die erste Zeile meiner pom.xml lautet: <? Xml version = "1.0" encoding = "UTF-8"?> Ich habe in Windows 7 dieselbe Warnung gefunden: [WARNUNG] Verwenden der Plattformcodierung (tatsächlich UTF-8) zum Kopieren gefiltert Ressourcen, dh Build ist plattformabhängig!
Ripon Al Wasim
1

Für spezielle Bedürfnisse:

<!-- https://maven.apache.org/plugins/maven-resources-plugin/index.html -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

Wenn das Plugin bereits konfiguriert ist, sollte man nur hinzufügen

<encoding>UTF-8</encoding>
Henrik Damkjaer Vind
quelle