java中jdk升级高版本,java和javac版本不同
出现原因
我在jdk从1.8版本升级为11版本时出现,java -version显示1.8版本,javac -version显示的是11版本,出现这个情况是jre有进行过安装,系统默认的路径,即使将path环境变量里的路径删除,还可能在cmd中查找到。
解决方法
1. 使用cmd文件查找jdk
我在一个 windows系统如何查找程序安装路径 这篇文章中受到启发,在cmd中使用where + java搜索jre路径时发现多个路径
我根据提供的路径,将其更改名称后,恢复正常,可以按照这个思路,看看自己的是不是这个问题
2. 删除oracle文件占用
网上还有说法,是oracle中的三个文件(如下图),我的问题也是这个,图中的 java.exe 被我重命名为 java1.exe了,就是这个文件的问题,删除或改名即可。
3. path环境变量配置
还有个说法就是path中的环境变量配置要靠前,大致意思就是将 %JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin 放在C:\Windows\system32之前,系统会先到path路径下按顺序找相应文件,而jre1.8.0是在系统所在的路径下,被优先搜索到,所以使用了C盘下的jre,这个也能解决问题