web-dev-qa-db-fra.com

Objet des variables Java_HOME, M2 et M2_HOME

Pourquoi ai-je besoin des variables d'environnement Java_HOME, M2 et M2_HOME si les chemins qui y sont destinés sont déjà ajoutés à ma variable PATH?

23
Liza Tjaica

Java_HOME doit faire référence au répertoire dans lequel Java que vous souhaitez utiliser est installé. Cette variable est souvent utilisée par différents scripts, il est donc recommandé de la définir. Java_HOME lui-même ne devrait pas être ajouté à PATH. Vous devez ajouter Java_HOME/bin pour pouvoir exécuter des commandes à partir de ce répertoire sans spécifier le chemin concret.

M2_HOME est une maison de Maven. Il est utilisé par le script mvn (ou mvn.bat sous Windows).

8
AlexR

Les chemins de base (Java_HOME, M2_HOME) ne sont pas obligatoires, mais il est bon de les avoir. L'un des avantages est:

Il vous aide à apporter des modifications à un endroit plutôt que de chercher dans la variable PATH lorsque vous installez la prochaine version de Java ou Maven. Par exemple, la variable d'environnement Java_HOME ci-dessous est un emplacement que je dois changer lorsque je la mets à niveau vers Java Development Kit 1.8.

Windows environment variable window

7
prashantsunkari

Je pense que vous ne comprenez pas un concept de variable d'environnement. Pour commencer, lisez ici -> http://en.wikipedia.org/wiki/Environment_variable

PATH est une variable d'environnement bien connue dans de nombreux systèmes d'exploitation (ou shells). Et cela signifie que si vous tapez un nom de programme sans chemin complet, le système d'exploitation (ou le shell) essaiera de rechercher tous les répertoires spécifiés dans la variable PATH.

D'autres programmes ont des dépendances différentes sur l'environnement. Certains d'entre eux spécifient les variables d'environnement dont ils ont besoin pour s'exécuter correctement.

Java_HOME est utilisé par de nombreuses applications Java pour définir l'emplacement d'installation de JRE (Java Runtime Environment).

M2_HOME est utilisé par Maven et, encore une fois, il indique au programme où trouver l’installation de Maven.

PATH ne convient pas à cette fin, car il peut contenir de nombreux répertoires non liés à Java ou Maven.

5

La variable PATH est utilisée pour rechercher des applications (exécutables et scripts) et des DLL sous Windows. Si vous tapez "mvn", le PATH est utilisé pour localiser un exécutable ou un script portant ce nom. Cependant, le fait que le script se trouve à un emplacement ne signifie pas que l'application est installée dans ce répertoire. L'exemple le plus simple à décrire est celui qui existe sous UNIX. Vous pourriez avoir un lien symbolique de/usr/local/bin/mvn vers l’emplacement où maven est réellement installé. D'autres exemples/raisons pourraient être donnés.

Les variables d’environnement sont utilisées par l’application pour savoir où chercher les autres ressources dont elle pourrait avoir besoin.

Par exemple, Java_HOME pointe vers le répertoire où se trouve votre JDK. Lorsque Java est exécuté, cette application sait que d'autres ressources peuvent être trouvées par rapport au répertoire Java_HOME.

Cela permet à l'application, par exemple, C:\Windows\System32\Java d'exister dans un répertoire, mais l'installation de JDK se trouve ailleurs.

Il en va de même pour le répertoire M2_HOME qui pointe vers le répertoire principal où MAVEN est "installé" (ou décompressé). 

Le répertoire M2 indique à l'application maven (mvn) où trouver les référentiels maven nécessaires. La valeur par défaut (sous UNIX) est $ HOME/.m2, mais vous ne voulez peut-être pas laisser votre référentiel là-bas. Vous pouvez donc spécifier un autre emplacement à l'aide de la variable d'environnement M2.

0
PatS