Jak uniezależnić platformę budowania Mavena?

94

Podczas tworzenia przy użyciu Maven na moim Macu mvn installotrzymuję

[OSTRZEŻENIE] Używanie kodowania platformy (właściwie MacRoman) do kopiowania filtrowanych zasobów, tj. Kompilacja zależy od platformy!

Czy można budować dla danej platformy (Linux) lub w inny sposób uniezależnić platformę kompilacji?

James Raitsev
źródło

Odpowiedzi:

172

Dzieje się tak, gdy nie podałeś następujących w swoim pom.xml

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

Brak tego oznacza, że ​​używasz kodowania specyficznego dla platformy i dlatego jest to ostrzeżenie.

Kalpak Gadre
źródło
2
Rozwiązanie można również znaleźć na stronie FAQ Mavena. http://maven.apache.org/general.html#encoding-warnin
Jeff7566
Tak, po dodaniu wierszy wymienionych w Twojej odpowiedzi, moja działa dobrze bez ostrzeżenia. dzięki Kal
Ripon Al Wasim
7

A jeśli odpowiedź @ Kal nie działa dla ciebie, być może możesz nauczyć się z moich ostatnich 30 minut ... poniższy link dodaje dodatkową linię do powyższej odpowiedzi i rozwiązuje mój problem. Mój problem był związany z wtyczką maven-resources-plugin 2.6, ale dostawca następującego rozwiązania miał inny problem, który rozwiązał ... https://stackoverflow.com/a/3018152/2485075

Mikrofon
źródło
Pierwsza linia mojego pom.xml to: <? Xml version = "1.0" encoding = "UTF-8"?> Znalazłem to samo ostrzeżenie w systemie Windows 7: [OSTRZEŻENIE] Używanie kodowania platformy (właściwie UTF-8) do kopiowania filtrowanego zasoby, tj. kompilacja zależy od platformy!
Ripon Al Wasim
1

Na szczególne potrzeby:

<!-- 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>

Jeśli wtyczka jest już skonfigurowana, wystarczy dodać

<encoding>UTF-8</encoding>
Henrik Damkjaer Vind
źródło