Windows 7环境变量在路径中不起作用

jim*_*ssy 42 variables environment path windows-7

我正在尝试使用环境变量设置一些路径.我添加了一个环境变量"MAVEN_HOME",其值为"C:\ maven".然后在路径中我添加了"%MAVEN_HOME%\ bin; ... rest".当我输入"echo $ MAVEN_HOME%"时,我会在屏幕上打印出正确的"C:\ maven".但是当我输入"mvn"这是"bin"目录中的批处理文件时,它找不到它.

所以,我在PATH中手动添加了整个路径."C:\ maven\bin; ... rest",它能够找到"mvn"并执行它.

有人可以帮助我做错了吗?

Dan*_*tti 74

检查上一个路径和下一个路径之间是否有空格字符:

不正确: c:\path1; c:\Maven\bin\; c:\path2\

正确: c:\path1;c:\Maven\bin\;c:\path2\

  • 简单而有力的帮助!! 这对我有用!! (3认同)
  • 我可以看到我有空格(来自cmd和python),但我不知道如何摆脱它们.我一直在撞墙3个小时! (3认同)

pcm*_*ind 54

我有完全相同的问题,要解决它,你可以做两件事之一:

  • 将所有变量放在系统变量而不是用户中,并将所需的变量添加到PATH中

要么

  • 将所有变量放在用户变量中,并在用户变量中创建或编辑PATH变量,而不是在系统中.系统中的Path变量不会扩展用户变量.

如果以上都是正确的,但问题仍然存在,则需要检查HKEY_CURRENT_USER\Environment中的系统注册表,以确保"PATH"键类型为REG_EXPAND_SZ(不是REG_SZ).

  • 嗨@pcmind,我的设置为REG_SZ,我现在该怎么办? (2认同)

kay*_*e99 38

我的问题变得非常简单:

重新启动命令提示符,新变量应该更新

  • 不要忽视这个答案; 10次​​中有9次这就是问题所在. (12认同)

小智 15

像%PATH%或路径中的项目之间的空格会破坏它.被警告.

是的,包含空格的Windows路径将导致错误.例如,应用程序将其添加到系统%PATH%变量定义的前面:

C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64;
Run Code Online (Sandbox Code Playgroud)

这导致%PATH%中的所有路径都未在cmd窗口中设置.

我的解决方案是在需要的地方用双引号划分扩展路径变量:

"C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64;
Run Code Online (Sandbox Code Playgroud)

因此忽略空格并正确解析完整路径变量.


Gor*_*yII 5

需要将%M2%和%JAVA_HOME%添加到USER变量中的PATH变量,而不是SYSTEM变量.


小智 5

如果在PATH窗口中有任何错误,将无声地忽略它.像%PATH%或路径中的项目之间的空格会破坏它.被警告


小智 5

同样值得确保您以管理员身份使用命令提示符-我的工作机上的系统锁定意味着在键入mvn --version时找不到刚刚报告的标准cmd

要使用,请单击“开始>所有程序>附件”,右键单击“命令提示符”,然后选择“以管理员身份运行”。