java -version
Path
对于第 ① 种情况,原因可能有:
%JAVA_HOME%
%JAVA_HOME%\bin %JAVA_HOME%\jre\bin
但是,在 Windows 10,如果像上面这样子配置 JDK 的路径,系统是扫描不出来的,必须在Path中给出完整的路径信息:
C:\Program Files\Java\jdk1.8.0_221\bin C:\Program Files\Java\jdk1.8.0_221\jre\bin
参考博客:https://blog.csdn.net/joker_zsl/article/details/104446404
要解释配置的 JDK 与实际运行的 JDK 不一致的问题,需要了解 JDK 的运行原理。在接收到指令后,JDK 的运行顺序如下:
C:\Windows\System32\
java.exe javaw.exe javaws.exe
C:\Program Files (x86)\Oracle\Java\javapath\
C:\ProgramData\Oracle\Java\javapath\
在安装低版本的 JDK 时(JDK 1.8 以下,未考证),一般不会出现前面 3 中情况。但是在安装较高版本的 JDK 时,系统会在这些路径自动生成运行文件,并且将路径写到Path中。所以,问题也出现在这里,我们配置的路径优先级最低,造成配置失效。
如果只想运行自己配置的 JDK 路径,可以通过下面的步骤:
删除C:\Windows\System32\目录下的 3 个文件java.exe javaw.exe javaws.exe
在Path中,删除C:\Program Files (x86)\Oracle\Java\javapath、C:\ProgramData\Oracle\Java\javapath两个路径。
C:\Program Files (x86)\Oracle\Java\javapath
C:\ProgramData\Oracle\Java\javapath
在Path中,写入自己想要的 JDK 路径。(写入时,要注意是否可以写入%JAVA_HOME形式的路径)
%JAVA_HOME
原文链接:https://www.cnblogs.com/aahorse/p/13295519.html