it-swarm.com.de

Windows 7-Umgebungsvariable funktioniert nicht im Pfad

Ich versuche, einen Pfad mit der Umgebungsvariablen einzurichten .__ Ich fügte eine Umgebungsvariable "MAVEN_HOME" mit dem Wert "C:\maven" ..__ hinzu. Im Pfad fügte ich "% MAVEN_HOME%\bin;" hinzu. ..rest ". Wenn ich" echo $ MAVEN_HOME% "eingebe, erhalte ich das richtige" C:\maven "auf dem Bildschirm. Wenn ich" mvn "eingebe, ist dies eine Batch-Datei in der" bin "Verzeichnis, kann es nicht finden.

Also habe ich den gesamten Pfad in PATH . "C:\maven\bin; ... rest" Manuell hinzugefügt und konnte "mvn" finden und ausführen.

Könnte mir jemand helfen was ich falsch gemacht habe?

39
jiminssy

Ich hatte genau das gleiche Problem. Um es zu lösen, können Sie zwei Dinge tun:

  • Setzen Sie alle Variablen in Systemvariablen anstelle von User und fügen Sie die gewünschten Variablen in PATH hinzu

Oder 

  • Setzen Sie alle Variablen in Benutzervariablen und erstellen oder bearbeiten Sie die PATH-Variablen in Benutzervariable und nicht in System. Die Pfadvariablen in System erweitern die Benutzervariablen nicht.

Wenn alle oben genannten Punkte korrekt sind und das Problem weiterhin besteht, müssen Sie die Systemregistrierung in HKEY_CURRENT_USER\Environment überprüfen, um sicherzustellen, dass der Schlüsseltyp "PATH" REG_EXPAND_SZ ist (nicht REG_SZ).

51
pcmind

Prüfen Sie, ob zwischen dem vorherigen und dem nächsten Pfad ein Leerzeichen steht:

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

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

71
Daniel Bonetti

Mein Thema erwies sich als peinlich einfach:

Starten Sie die Eingabeaufforderung neu, und die neuen Variablen sollten aktualisiert werden

32
kaybee99

Dinge wie% PATH% oder Leerzeichen zwischen Elementen in Ihrem Pfad führen dazu, dass der Pfad zerstört wird. Sei gewarnt.

Ja, Fensterpfade, die Leerzeichen enthalten, verursachen Fehler. Zum Beispiel fügte eine Anwendung dies vor der Variablendefinition des Systems% PATH% hinzu:

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

dadurch wurden nicht alle Pfade in% PATH% im Cmd-Fenster festgelegt.

Meine Lösung besteht darin, die erweiterte Pfadvariable bei Bedarf in doppelte Anführungszeichen zu setzen: 

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

Die Leerzeichen werden daher ignoriert und die vollständige Pfadvariable wird ordnungsgemäß analysiert.

15
wmchrog

% M2% und% Java_HOME% müssen einer PATH-Variablen in den USER-Variablen hinzugefügt werden, nicht den SYSTEM-Variablen.

5
GordyII

Wenn überhaupt ein Fehler in den PATH-Fenstern auftritt, wird dieser unbemerkt ignoriert. Dinge wie% PATH% oder Leerzeichen zwischen Elementen in Ihrem Pfad führen dazu, dass der Pfad beschädigt wird. Sei gewarnt

5
Richard

Es lohnt sich auch, sicherzustellen, dass Sie den Befehl Aufforderung als Administrator verwenden. Die Systemsperre auf meiner Arbeitsmaschine bedeutete, dass der mvn gemeldete Standarddatensatz bei Eingabe von Mvn --version nicht gefunden werden konnte

Um auf "Start> Alle Programme> Zubehör" zu klicken, klicken Sie mit der rechten Maustaste auf "Eingabeaufforderung" und wählen Sie "Als Administrator ausführen".

4
Daniel Freeman

Wenn der PATH-Wert zu lang wäre, nachdem die PATH-Variable des Benutzers mit der Umgebungs-PATH-Variable verkettet wurde, kann die PATH-Variable des Benutzers nicht automatisch verkettet werden.

Dies kann leicht passieren, nachdem neue Software installiert wurde und PATH etwas hinzufügt, wodurch die bereits installierte Software beschädigt wird. Windows scheitern!

Die beste Lösung ist, eine der PATH-Variablen in der Systemsteuerung zu bearbeiten und nicht benötigte Einträge zu entfernen. Öffnen Sie dann ein neues CMD-Fenster und prüfen Sie, ob alle Einträge in "echo% PATH%" angezeigt werden.

3
Anthony Hayward

Ich hatte dieses Problem in Windows 10 und schien gelöst zu sein, nachdem ich "Explorer.exe" im Task-Manager geschlossen hatte.

1
xjdeng

Um dieses Problem zu lösen, habe ich den Befehl setx verwendet, der versucht, Variablen auf Benutzerebene festzulegen.

Ich habe unten verwendet ...

setx Java_HOME "C:\Program Files\Java\jdk1.8.0_92"

setx PATH %Java_HOME%\bin

HINWEIS: Windows versucht, den angegebenen Variablenwert an den vorhandenen Variablenwert anzuhängen. Es ist also nicht nötig, zusätzliches% PATH% anzugeben ... etwas wie% Java_HOME%\bin;% PATH%

1

Ich hatte das gleiche Problem, ich habe es behoben, indem PATHEXT aus der Benutzervariable entfernt wurde. Sie darf nur in der Systemvariablen mit .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC vorhanden sein

Entfernen Sie auch die Variable von Benutzer zu System und schließen Sie nur diesen Pfad in die Benutzervariable ein

1

Kopieren Sie den Wert des Pfads in den Merkzettel und prüfen Sie, ob dies dem Echo% Pfad% im Terminalfenster entspricht, und nehmen Sie gegebenenfalls Änderungen vor. Dann löschen Sie den alten Pfadwert und fügen den Notepadwert wieder in ..__ ein. Ich gehe davon aus, dass einige unsichtbare Zeichen, die von einer Installation eingegeben wurden, den Pfadwert beschädigt haben.

0
kees

Stellen Sie sicher, dass sowohl die System- als auch die Benutzerpfade richtig eingestellt sind.

0
Nikolay Frick

In meinem Windows 7. 

// not working for me
D:\php\php-7.2.6-nts\php.exe

// works fine
D:\php\php-7.2.6-nts
0
qskane