web-dev-qa-db-fra.com

Quelle est la différence entre M2_HOME et MAVEN_HOME

J'ai deux versions de variables d'environnement pour maven home - M2_HOME et MAVEN_HOME.

Lequel doit être réglé?

49
developer

MAVEN_HOME est pour Maven 1, M2_HOME est pour Maven 2 et versions ultérieures.

Maven 2 était une réécriture complète de Maven 1 et n'était pas rétrocompatible. Avoir les deux _HOME variables signifie qu'il est possible d'exécuter les deux sur la même machine.

MISE À JOUR

Depuis maven 3.5.0, aucune de ces variables d'environnement ne doit être spécifiée. Au lieu de cela, le chemin doit être mis à jour pour inclure l'exécutable mvn.

67
prunge

Et, ironiquement, vous devez toujours utiliser M2_HOME et M2 pour Maven version 3. Sinon, cela échoue, car ils n'ont pas suivi cette approche logique avec Maven V3.x pour une raison bizarre.

Par conséquent, il n'est pas facile de prendre en charge Maven 2 et Maven 3 sur la même machine sans réécrire votre configuration.

26
Martin Spamer