一、问题描述
之前只下载安装了jdk1.8和eclipse,环境变量都已经配置完成,一直没有问题,今天命令行输入java -version和javac -version时,版本变为了13.0.1。
二、问题分析&解决
1.首先检查环境变量。
具体怎么配置网上已经说的很清楚了,参考链接:https://www.cnblogs.com/nojacky/p/9497724.html
一定要注意一个细节!!配置系统环境变量Path时,要把java相关的环境变量放在system32等其他变量之前,否则在安装其他软件时,可能会把其他版本的jdk添加到路径中,java -version会从前向后依次寻找,所以要把相关变量放在最前面。参考链接:https://www.cnblogs.com/Kidezyq/p/5781131.html https://blog.csdn.net/qq649954944/article/details/80236292
经检查,环境变量没有问题。
2.删除新版本jdk
用everything搜索出jdk13的文件夹,删除jdk13,重启之后发现java version仍为13.0.1,并且仍然可以正常执行javac, java命令。
3.检查是否自动更新
既然环境变量没有问题,而且现有的版本能正常运行,那就只有一个可能:1.8版本自动更新为了13版本。找到bin目录下的java.exe,右键“属性”检查详细信息中的文件版本,发现版本确实变成了13.0.1。那么如果想保持1.8版本的话,就需要关闭自动更新功能。具体方法: (参考链接:https://blog.csdn.net/xiang__liu/article/details/80918897)
(1)打开控制面板,点击java
(2)更新栏中取消勾选“自动更新”
(3)高级栏中“应用程序安装”勾选“从不安装”
这个问题搞了一下午。。。一直以为是环境变量配置的问题越研究越奇怪,最后检查右键jdk版本的时候才明白过来。。。大家安装jdk一定记得注意是否禁用自动更新啊!!