Search code examples
mavendevelopment-environment

What is the difference between M2_HOME and MAVEN_HOME


I have two version of environment variables for maven home - M2_HOME and MAVEN_HOME.

Which one needs to be set?


Solution

  • MAVEN_HOME is for Maven 1, M2_HOME is for Maven 2 and later.

    Maven 2 was a complete rewrite from Maven 1 and was not backwards compatible. Having the two different _HOME variables means it is possible to run both on the same machine.

    UPDATE

    As of maven 3.5.0 neither of these environment variables should be specified. Instead, the path should be updated to include the mvn executable.