La variable d’environnement Windows 7 ne fonctionne pas dans le chemin

J’essaie de configurer un chemin en utilisant une variable d’environnement. J’ai ajouté une variable d’environnement “MAVEN_HOME” avec la valeur “C: \ maven”. Puis dans le chemin j’ai ajouté “% MAVEN_HOME% \ bin; … rest”. Lorsque je tape “echo $ MAVEN_HOME%”, j’obtiens le bon “C: \ maven” imprimé à l’écran. Mais quand je tape “mvn” qui est un fichier batch dans le répertoire “bin”, il ne peut pas le trouver.

J’ai donc ajouté manuellement l’intégralité du chemin dans PATH. “C: \ maven \ bin; … rest” et il a pu trouver “mvn” et l’exécuter.

Quelqu’un pourrait-il m’aider ce que j’ai fait mal?

J’ai eu exactement le même problème, pour le résoudre, vous pouvez faire l’une des deux choses suivantes:

  • Mettez toutes les variables dans les variables système au lieu de l’utilisateur et ajoutez celles que vous voulez parcourir

Ou

  • Placez toutes les variables dans les variables utilisateur et créez ou modifiez les variables PATH dans la variable utilisateur, pas dans le système. Les variables Path dans System ne développent pas les variables utilisateur.

Si tout est correct, mais que le problème est toujours présent, vous devez vérifier le registre du système, dans HKEY_CURRENT_USER \ Environment, pour vous assurer que le type de clé “PATH” est REG_EXPAND_SZ (pas REG_SZ).

Vérifiez s’il y a un espace entre le chemin précédent et le suivant:

Incorrect: c:\path1; c:\Maven\bin\; c:\path2\ c:\path1; c:\Maven\bin\; c:\path2\

Correct: c:\path1;c:\Maven\bin\;c:\path2\

Mon problème s’est avéré extrêmement simple:

Redémarrez l’invite de commande et les nouvelles variables doivent être mises à jour

Des choses comme avoir% PATH% ou des espaces entre les éléments de votre chemin le briseront. Être averti.

Oui, les chemins d’access Windows qui contiennent des espaces provoquent des erreurs. Par exemple, une application l’a ajouté au début de la définition de la variable% PATH% du système:

 C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64; 

ce qui fait que tous les chemins dans% PATH% ne sont pas définis dans la fenêtre cmd.

Ma solution consiste à délimiter la variable de chemin étendu entre guillemets si nécessaire:

 "C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64; 

Les espaces sont donc ignorés et la variable de chemin complet est analysée correctement.

% M2% et% JAVA_HOME% doivent être ajoutés à une variable PATH dans les variables USER, pas les variables SYSTEM.

S’il y a une erreur dans les fenêtres PATH, elle ne le respectera pas. Des choses comme avoir% PATH% ou des espaces entre les éléments de votre chemin le briseront. Être averti

Assurez-vous également que vous utilisez l’invite de commande en tant qu’administrateur – le locking du système sur mon ordinateur de travail signifiait que la cmd standard qui venait d’être signalée ne pouvait pas être trouvée lors de la saisie de mvn –version

Pour utiliser cliquez sur “démarrer> tous les programmes> accessoires”, cliquez avec le bouton droit sur “invite de commande” et sélectionnez “exécuter en tant qu’administrateur”.

Si la valeur PATH est trop longue après que la variable PATH de votre utilisateur a été concaténée dans la variable PATH de l’environnement, Windows échouera silencieusement à concaténer la variable PATH utilisateur.

Cela peut facilement se produire après l’installation d’un nouveau logiciel et append quelque chose à PATH, brisant ainsi les logiciels installés existants. Windows échoue!

La meilleure solution consiste à modifier l’une des variables PATH du Panneau de configuration et à supprimer les entrées inutiles. Ouvrez ensuite une nouvelle fenêtre CMD et vérifiez si toutes les entrées sont affichées dans “echo% PATH%”.

J’ai eu le même problème, je l’ai corrigé en supprimant PATHEXT de la variable utilisateur. Il ne doit exister que dans la variable Système avec .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC

Supprimez également la variable d’un utilisateur à l’autre et n’incluez que ce chemin dans la variable utilisateur.

Pour résoudre ce problème, j’ai utilisé la commande setx qui tente de définir des variables de niveau utilisateur.

J’ai utilisé ci-dessous …

 setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_92" setx PATH %JAVA_HOME%\bin 

REMARQUE: Windows essaie d’append la valeur de variable fournie à la valeur de variable existante. Donc, pas besoin de donner un% PATH% supplémentaire … quelque chose comme% JAVA_HOME% \ bin; %CHEMIN%

Copiez la valeur de path dans le bloc-notes et vérifiez si cela correspond à la fenêtre echo% path% in terminal et apportez les modifications nécessaires. Supprimez ensuite l’ancienne valeur du chemin et recopiez la valeur du bloc-notes. Je suppose qu’un certain caractère invisible saisi par une installation a corrompu la valeur du chemin.

Assurez-vous que vos chemins d’access système et utilisateur sont définis correctement.

J’ai eu ce problème dans Windows 10 et il semblait être résolu après avoir fermé “explorer.exe” dans le Gestionnaire des tâches.