我正在安装Maven,需要设置M2和M2_Home.我在环境变量的用户变量中设置了它们.我在环境变量的系统变量中添加了%M2%到Path变量.我期待能够运行mvn –version,但我不能.但是,如果我这样做
echo%Path%我可以看到路径中有%M2%,如果我回显%M2%,我可以看到mvn所在的bin目录.
echo%Path%我可以看到路径中有%M2%,如果我回显%M2%,我可以看到mvn所在的bin目录.
所以我有这个问题.直到我在用户变量中创建Path变量并将%M2%添加到该变量(并将其从系统变量中的路径中删除)之前,问题才得到解决.现在它有效.有没有人知道为什么它只是以这种特定的方式工作?
您必须查看Windows源代码以确定发生了什么,但这并不让我感到惊讶.根据我的测试,似乎系统环境变量只能引用其他系统环境变量,而不是用户环境变量.
请注意,echo%PATH%应显示扩展路径.你不应该看到%M2%.
这可能是因为有时需要在没有用户上下文的情况下扩展系统环境变量.如果用户环境变量包含在系统环境变量的扩展中,则需要将其视为特殊情况.这也可能被认为是首选行为,因此用户的环境变量不会意外地影响系统变量的解释,或者存在与进程之间的环境变量继承方式相关的问题.
将%M2%添加到用户路径中,或者将M2设置为系统而不是用户环境变量.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。