Search code examples
javamavenencodingmaven-2maven-3

How can I configure encoding in Maven?


When I run maven install on my multi-module Maven project I always get the following output:

[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!

So, I googled around a bit, but all I could find was that I have to add:

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

...to my pom.xml file. But it's already there (in the parent pom.xml).

Configuring <encoding> for the maven-resources-plugin or the maven-compiler-plugin also doesn't fix it.

So what's the problem?


Solution

  • OK, I have found the problem.

    I use some reporting plugins. In the documentation of the failsafe-maven-plugin I found, that the <encoding> configuration - of course - uses ${project.reporting.outputEncoding} by default.

    So I added the property as a child element of the project element and everything is fine now:

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

    See also How do I prevent "[WARNING] Using platform encoding (CP-1252 actually) to copy filtered resources, i.e. build is platform dependent!".