Не работает локальная переменная окружения в Windows

Написано 30 Октябрь, 2012 в категории Windows

Как известно, в Windows есть системные переменные среды (доступны всем пользователям) и локальные переменные среды доступные только пользователю или группе пользователей.
В процессе установки Maven мне понадобилось прописать его в переменную "Path". Т.к. у меня не было прав администратора, т.е. мне было запрещено редактировать системные переменные среды, то я решил отредактировать локальную переменную "Path"
Было так:

N:\tools;%Path%;

Я добавил кликнул правой кнопкой на значке "Мой компьютер", выбрал в выпадающем меню "Свойства", перешел на вкладку "Дополнительно", нажал на кнопку "Переменные среды", кликнул в окошке локальных переменных на переменную "Path" и нажал кнопку "Изменить". И дописал свое значение.
Стало так

N:\tools;%Path%;N:\maven\bin;

И после всех этих манипуляций попробовал вызвать N:\maven\bin\mvn.exe
Вот так:

C:\> mvn

На что получил неожиданный ответ: Команда с таким именем не найдена. (Вольный перевод сообщения)
Я подумал что возможно надо перезагрузиться или хотя бы перезайти в сеанс. Для надежности перезагрузился. Команда по-прежнему не найдена. Смотрим, что загрузилось в переменную Path

C:\> set Path
Path=N:\hg;

Оказалось что было загружено только значение системной переменной (она в моем случае содержит путь N:\hg;). Почему не загрузилась локальная переменная Path?
Все оказалось просто - достаточно убрать %Path%; из значения локальной переменной среды "Path", перезагрузиться и все работает как надо. Почему %Path%; приводит к отказу в добавлении локального значения к системному можно только догадываться.

Удачи!