Переменная среды Windows 7 не работает в пути
Я пытаюсь настроить некоторый путь, используя переменную среды.
Я добавил переменную среды "MAVEN_HOME" со значением "C:\maven".
Затем на пути я добавил "% MAVEN_HOME%\bin;... rest".
Когда я набираю "echo $MAVEN_HOME%", я получаю правильный "C:\maven", напечатанный на экране.
Но когда я набираю "mvn", который является пакетным файлом в каталоге "bin", он не может его найти.
Итак, я вручную добавил весь путь в PATH.
"C:\Maven\Bin;... остальное"
и он смог найти "mvn" и выполнить его.
Может ли кто-нибудь помочь мне в том, что я сделал не так?
Ответы
Ответ 1
У меня была точно такая же проблема, чтобы решить ее, вы можете сделать одну из двух вещей:
- Поместите все переменные в системные переменные вместо пользователя и добавьте те, которые вы хотите использовать PATH
Или
- Поместите все переменные в пользовательские переменные и создайте или отредактируйте переменные PATH в пользовательской переменной, а не в системе. Переменные пути в системе не расширяют пользовательские переменные.
Если все это правильно, но проблема все еще присутствует, вам нужно проверить системный реестр в HKEY_CURRENT_USER\Environment, чтобы убедиться, что тип ключа "PATH" REG_EXPAND_SZ (не REG_SZ).
Ответ 2
Проверьте, существует ли пробельный символ между предыдущим и предыдущим путями:
Неправильно:
c:\path1; c:\Maven\bin\; c:\path2\
Правильно:
c:\path1;c:\Maven\bin\;c:\path2\
Ответ 3
Моя проблема оказалась неловкой:
Перезапустите командную строку и новые переменные должны обновить
Ответ 4
Такие вещи, как наличие% 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
% M2% и% JAVA_HOME% необходимо добавить к переменной PATH в переменных USER, а не в переменных SYSTEM.
Ответ 6
Если какая-либо ошибка вообще в окнах PATH будет молча игнорировать ее. Такие вещи, как наличие% PATH% или пробелов между элементами на вашем пути, нарушат его. Будьте предупреждены
Ответ 7
Также стоит убедиться, что вы используете командную строку в качестве администратора - системная блокировка на моем рабочем компьютере означала, что стандартный cmd, только что сообщенный mvn, не может быть найден при наборе текста
mvn --version
Чтобы использовать "начать" все программы > аксессуары ", щелкните правой кнопкой мыши" командную строку "и выберите" запустить как администратор ".
Ответ 8
Если значение PATH будет слишком длинным после того, как ваша переменная PATH пользователя будет объединена в переменную PATH среды, Windows не сможет автоматически конкатенировать переменную пользователя PATH.
Это может произойти после установки нового программного обеспечения и добавления чего-то к PATH, тем самым нарушая существующее установленное программное обеспечение. Ошибка Windows!
Лучшее решение - отредактировать одну из переменных PATH на панели управления и удалить записи, которые вам не нужны. Затем откройте новое окно CMD и посмотрите, показаны ли все записи в "echo% PATH%".
Ответ 9
У меня была та же проблема, я исправил ее, удалив PATHEXT из пользовательской переменной. Он должен существовать только в Системной переменной с .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Также удалите переменную от пользователя к системе и включите только этот путь в пользовательскую переменную
Ответ 10
Чтобы решить эту проблему, я использовал команду setx, которые пытаются установить переменные уровня пользователя.
Я использовал ниже...
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_92"
setx PATH %JAVA_HOME%\bin
ПРИМЕЧАНИЕ. Windows пытается добавить существующее значение переменной к существующему значению переменной. Поэтому нет необходимости давать дополнительные% PATH%... что-то вроде% JAVA_HOME%\bin; % PATH%
Ответ 11
Скопируйте значение пути в блокнот и проверьте, соответствует ли это соответствует эхо% пути% в окне терминала и при необходимости вносит изменения. Затем удалите значение старого пути и вставьте значение блокнота обратно.
Я предполагаю, что какой-то невидимый символ, введенный там некоторой установкой, исказил значение пути.
Ответ 12
Убедитесь, что правильно настроены как системные, так и пользовательские пути.