Переменная среды Windows 7 не работает в пути - PullRequest
41 голосов
/ 31 декабря 2011

Я пытаюсь настроить какой-либо путь, используя переменную окружения.Я добавил переменную окружения "MAVEN_HOME" со значением "C: \ maven".Затем в путь я добавил "% MAVEN_HOME% \ bin; ... rest".Когда я набираю «echo $ MAVEN_HOME%», я получаю правильное «C: \ maven», напечатанное на экране.Но когда я набираю «mvn», который является командным файлом в каталоге «bin», он не может его найти.

Итак, я вручную добавил весь путь в PATH."C: \ maven \ bin; ... rest", и он смог найти "mvn" и выполнить его.

Может ли кто-нибудь помочь мне, что я сделал не так?

Ответы [ 14 ]

73 голосов
/ 23 октября 2012

Проверьте, есть ли пробел между предыдущим путем и следующим:

Неправильно: c:\path1; c:\Maven\bin\; c:\path2\

Правильно: c:\path1;c:\Maven\bin\;c:\path2\

53 голосов
/ 26 ноября 2012

У меня была точно такая же проблема, для ее решения можно сделать одну из двух вещей:

  • Поместите все переменные в системные переменные вместо пользовательских и добавьте те, которые вы хотите в PATH

или

  • Поместите все переменные в пользовательские переменные и создайте или измените переменные PATH в пользовательской переменной, а не в системе. Переменные Path в System не раскрывают пользовательские переменные.

Если все вышеприведенное верно, но проблема сохраняется, вам необходимо проверить системный реестр в HKEY_CURRENT_USER \ Environment, чтобы убедиться, что тип ключа «PATH» - REG_EXPAND_SZ (не REG_SZ).

35 голосов
/ 24 ноября 2015

Моя проблема оказалась невероятно простой:

Перезапустите командную строку, и новые переменные должны обновиться

15 голосов
/ 25 февраля 2014

Такие вещи, как наличие% PATH% или пробелы между элементами на вашем пути, сломают его. Будьте предупреждены.

Да, пути Windows, содержащие пробелы, будут вызывать ошибки. Например, приложение добавило это в начало определения переменной% PATH% системы:

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

, что привело к тому, что все пути в% PATH% не были установлены в окне cmd.

Мое решение состоит в том, чтобы разграничить переменную расширенного пути в двойных кавычках, где это необходимо:

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

Поэтому пробелы игнорируются, а переменная полного пути анализируется правильно.

5 голосов
/ 10 июля 2014

Также стоит убедиться, что вы используете командную строку в качестве администратора - системная блокировка на моей рабочей машине означала, что стандартный cmd, только что сообщивший, что mvn не может быть найден при вводе mvn --version

Toнажмите «Пуск»> «Все программы»> «Аксессуары», щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора».

5 голосов
/ 12 декабря 2013

Если есть какая-либо ошибка в окнах PATH, она будет игнорироваться. Такие вещи, как наличие% PATH% или пробелы между элементами на вашем пути, сломают его. Будьте предупреждены

5 голосов
/ 17 июня 2012

% M2% и% JAVA_HOME% необходимо добавить в переменную PATH в переменных USER, а не в переменные SYSTEM.

3 голосов
/ 10 сентября 2014

Если значение PATH будет слишком длинным после того, как переменная PATH вашего пользователя будет конкатенирована с переменной PATH среды, Windows молча прекратит объединение переменной PATH пользователя.

Это может легко произойти после установки нового программного обеспечения и добавления чего-либо в PATH, тем самым нарушая существующее установленное программное обеспечение. Ошибка Windows!

Лучшее решение - отредактировать одну из переменных PATH на панели управления и удалить ненужные записи. Затем откройте новое окно CMD и посмотрите, отображаются ли все записи в «echo% PATH%».

1 голос
/ 24 октября 2018

В моей Windows 7.

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

// works fine
D:\php\php-7.2.6-nts
1 голос
/ 06 апреля 2018

У меня была эта проблема в Windows 10, и она, казалось, была решена после того, как я закрыл «explorer.exe» в диспетчере задач.

...