在正常模式下运行时,java在命令提示符中不会被识别为内部或外部命令

在正常模式下运行时,java在命令提示符中不会被识别为内部或外部命令,java,Java,在命令提示符中使用Java(以管理员身份运行)时可以识别Java。但是,当我在命令提示符下运行Java(不以管理员身份运行)时,我得到消息“Java不被识别为内部或外部命令 使用windows 10 java版本1.8_144 JAVA_HOME和Path变量在系统变量中设置 我做错了什么?在Windows管理员和普通用户在不同的环境中工作。基本上,PATH系统变量应该可以正常工作 但要确保系统变量没有被用户的PATH变量覆盖(只需像往常一样运行命令行提示符,然后键入echo%PATH%)

在命令提示符中使用Java(以管理员身份运行)时可以识别Java。但是,当我在命令提示符下运行Java(不以管理员身份运行)时,我得到消息“Java不被识别为内部或外部命令

  • 使用windows 10
  • java版本1.8_144
  • JAVA_HOME和Path变量在系统变量中设置
我做错了什么?

在Windows管理员和普通用户在不同的环境中工作。基本上,
PATH
系统变量应该可以正常工作

但要确保系统变量没有被用户的
PATH
变量覆盖(只需像往常一样运行命令行提示符,然后键入
echo%PATH%


此外,Java的可执行文件上可能设置了不正确的访问权限(很明显,Windows 10中使用了NTFS)。我还没有在实际系统上进行过实验。但从本质上看,该程序将找不到(即使它已经在
路径中)当当前用户无法读取/执行其目录内容或可执行文件时。

您是否尝试将
cd
放入
java\bin
目录?这里是在黑暗中拍摄的,您是否尝试关闭所有命令提示符窗口并重新打开它们?在系统变量中是Path var,包括java_home+bin?@awgtek是的,在系统变量中JAVA的路径包括JAVA_Home+bin。但是,我错误地将JAVA_Home变量设置在用户变量中而不是系统变量中。当我从用户变量中删除JAVA_Home并在系统变量中添加新的JAVA_Home变量时,问题得到了解决。是的,你是对的。问题实际上是在用户变量中。我的JAVA_Home变量在用户变量中设置了ble。在系统变量中设置JAVA_HOME解决了此问题。