2

В Windows 10 Pro:

Я только что скачал и установил (то есть распаковал) последнюю версию Maven в каталог при подготовке будущего проекта разработки. Затем - в соответствии с инструкциями - я определил две переменные окружения:

M2=%M2_HOME%\bin
M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-3.6.0

Но по какой-то странной причине бывший% -заполнитель 'M2' не обрабатывается, то есть "set" просто возвращает:

>set
...
M2=%M2_HOME%\bin
M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-3.6.0
...

Я нажал ОК и закрыл диалог env-var и диалог настроек системы. Я перезапустил новую cmd-оболочку, я даже убил и перезапустил Windows Explorer (то есть рабочий стол), который обязательно должен вызвать повторное чтение и повторную замену этих переменных, а затем снова перезапустил cmd с этого рабочего стола, но M2 остается на незамещенный %M2_HOME%\bin -value.

Я также проверил в реестре:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\M2 определен как REG_EXPAND_SZ, поэтому он должен быть оценен и% -vars должны быть заменены, но, очевидно, здесь это не так.

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

Итак, что мне здесь не хватает? Почему этот M2_HOME как часть значения M2 неправильно подставлен?

Редактировать: добавил этот вывод по запросу JosefZ:

C:\Users\mmo>reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -v M2*

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
    M2    REG_EXPAND_SZ    %M2_HOME%\bin
    M2_HOME    REG_EXPAND_SZ    %ProgramFiles%\Apache Software Foundation\apache-maven-3.6.0

End of search: 2 match(es) found.

C:\Users\mmo>reg query HKCU\Environment -v M2*

End of search: 0 match(es) found.

C:\Users\mmo>

0