Java 答疑:为什么修改 Java 环境变量之后 java -version 不变?解决方式汇总

文章目录

  • 前言
  • 一、错误场景预演
    • 1.1、查看本地旧版本
    • 1.2、java -version 不变问题产生
  • 二、检查新安装 JDK 是否配置正确
    • 2.1、下载并解压目标 JDK
    • 2.2、配置 Java 环境变量
    • 2.3、注意 PATH 变量顺序
    • 2.4、查看 Java 版本信息
  • 三、不同具体错误场景分析
    • 3.1、PATH 变量顺序出错解决方式
    • 3.2、系统中存在旧版 java.exe 解决方式
  • 四、问题完美解决
  • 总结


前言

更新了 JDK 的版本,环境变量也进行了修改,为什么在命令界面输入 java -version 还是显示之前旧版本 JDK 的版本信息呢?可能有人在安装/更新 JDK 时遇到了这样的疑惑,这是什么原因导致的呢?网上的相关攻略找来找去也没能解决问题,而导致此问题出现会有多方面的原因,本文我们对此问题进行归类汇总。

在这里插入图片描述


一、错误场景预演

本人欲将 JDK 8 通过压缩包的方式升级为 JDK 17。

  • 本地旧版本:1.8.0_251
  • 预升级版本:17.0.2

1.1、查看本地旧版本

在配置环境变量之前,首先我们要明确,本地存在旧版本,如果本地没有 Java,也不会出现 java -version 不变的问题,输入命令检查:

java -version

我们可以看到旧版本的信息,具体如下图所示:

在这里插入图片描述

1.2、java -version 不变问题产生

在完成 JDK 17 本地解压、配置之后,命令行输入 java -version 仍然显示 1.8.0_251 的版本信息,而非 17.0.2,问题出现。

导致这个问题出现的原因有很多,我们接下来逐一排查。

二、检查新安装 JDK 是否配置正确

2.1、下载并解压目标 JDK

我们将需要安装的目标 JDK 解压到目标文件夹,我的如下图所示:

在这里插入图片描述

2.2、配置 Java 环境变量

  • JAVA_HOME 变量指向 JDK 根目录,即 bin 目录上一级。
  • PATH 变量指向 JDK 的 bin 目录。

通过“浏览目录”的形式分别配置 JAVA_HOME 和 PATH,具体如下图所示:

在这里插入图片描述
在这里插入图片描述

2.3、注意 PATH 变量顺序

环境变量中配置的 PATH 变量系统是按照先后顺序进行读取的,应将其置于最上方

顺序存在问题,也会出现 java -version 不改变的情况。其顺序可以通过上图右侧“上移”的按钮改变。

2.4、查看 Java 版本信息

按照常理,这个时候我们可以在命令行输入 java -version 查看新装 Java 的版本信息。

但是如果我们可以看到仍然显示的是之前旧版本的信息,而非新版本信息,我们就要到具体场景中进一步分析出错原因了,具体如下图所示:

在这里插入图片描述

三、不同具体错误场景分析

我按照最容易出现的错误场景顺序将其归为以下几类,如果无法解决看下一条即可。

3.1、PATH 变量顺序出错解决方式

这个问题是最常出现的,在 2.3 中我们也提到了。

出错原因:环境变量中配置的 PATH 变量,系统是按照先后顺序进行读取的,系统读取 Java 路径优先级不够,就会仍然显示之前的版本信息。 按照优先级应将其置于最上方

解决方式:通过右侧“上移”的按钮改变 Java bin 目录的顺序即可,具体如下图所示:

在这里插入图片描述

3.2、系统中存在旧版 java.exe 解决方式

出错原因:如果系统盘快捷调用中存在之前的 java.exe,如存在之前 JDK 1.8.0_251 的 java.exe,系统会优先调用,而不会调用最新的 java.exe, 显示的也就是旧版本的 java -version。

解决方式:通过搜索工具检索系统盘(C 盘)中的 java.exe 文件,将含有 java.exe 的文件夹删掉即可,避免其调用旧版本。具体 3 个 java.exe 文件在 Oracle 目录的 javapath 相关目录下,作者本人的如下图所示,将整个 Oracle 目录或 Java 目录删掉即可

在这里插入图片描述
注意:java.exe 文件仅考虑存在于系统盘内的,这是旧版本 JDK 的输出文件,其他盘符不考虑。

说明:java.exe 存在于 Oracle 目录的 Java 目录下,作者本人的 java.exe 文件位于C:\Program Files (x86)\Common Files 目录下,也有部分小伙伴的位于 C:\Windows\System32 目录下,通过检索工具如 Everything 查找很方便。

四、问题完美解决

通过上述步骤,问题完美解决,命令行输入 java -version,就可以看到新版本的信息了,具体如下图所示:

在这里插入图片描述


总结

在本文中我们按照常见容易犯的错误顺序,总结了两种解决 java -version 不变问题的方法,如果上述两种方法仍没能解决你的问题请在本文下方留言,我将尽快回复补充。在开发过程中问题总是层出不穷的,坚持学习、工作依靠 Java,就要深入理解 Java,培养 Java 涵养,重视 Java 基础知识,在关键点不要犯不该犯的小错误。

在这里插入图片描述


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse 版本升级:如何不卸载旧版本 Eclipse 实现在线升级到最新版本?

文章目录前言一、网上没“升级 Eclipse”相关资料吗?1.1、相关资料很少,我也生气1.2、升级新版本与在线升级插件傻傻搞不清二、版本升级准备2.1、Eclipse 更新模式介绍2.2、检查当前更新2.3、版本选择介绍三、进行旧版本升级3.1、添加新版本存储库3.2、添…

《团队激励与沟通》第 1 讲——激励理论 重点部分总结

文章目录 前言一、单选题二、多选题三、简答题四、名词解释五、论述题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的…

《团队激励与沟通》第 2 讲——激励的方法与应用 重点部分总结

文章目录 前言一、单选题二、简答题三、名词解释四、论述题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧…

《团队激励与沟通》第 3 讲——沟通概述与沟通过程 重点部分总结

文章目录 前言一、简答题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职业发展做好铺垫。本文…

《团队激励与沟通》第 4 讲——有效沟通与沟通的障碍 重点部分总结

文章目录 前言一、单选题二、多选题三、简答题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职…

《团队激励与沟通》第 5 讲——沟通的技巧 重点部分总结

文章目录 前言一、简答题二、排序题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职业发展做好…

《团队激励与沟通》第 6 讲——非语言沟通技巧与倾听 重点部分总结

文章目录 前言一、简答题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职业发展做好铺垫。本文…

《团队激励与沟通》第 7 讲——团队合作概述 重点部分总结

文章目录 前言一、单选题二、简答题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职业发展做好…

《团队激励与沟通》第 8 讲——团队合作技巧 重点部分总结

文章目录 前言一、论述题总结前言 随着社会经济的发展,在软件开发的过程中需要团队合作,在团队中通过有效沟通和激励可以使工作状态更好,从而设计和开发出完善的软件产品。因此作为软件工程专业的学生,需要掌握团队激励与沟通的方法和技巧,为将来的职业发展做好铺垫。本文…

Eclipse 答疑:Eclipse 启动失败/无响应?loading workbench 闪退?解决方式汇总

文章目录前言一、Eclipse 启动无响应/失败原因汇总二、没有正确关闭 Eclipse2.1、出错原因分析2.2、解决方式一2.3、解决方式二三、JDK 版本与 Eclipse 版本不适配3.1、出错原因分析3.2、解决方式四、多个 Eclipse 安装目录冲突4.1、出错原因分析4.2、解决方式五、安装目录中的…

Eclipse 插件升级:如何在线安装/更新 Eclipse 中安装的官方/第三方插件?

文章目录前言一、区别 Eclipse 插件更新与 Eclipse 更新二、Eclipse 官方插件更新/安装2.1、检查更新2.2、确认更新安装信息2.3、进行配置及插件升级2.4、重启 Eclipse 更新成功三、第三方插件更新/安装3.1、第三方插件更新/安装流程3.2、安装 Eclipse 官方提供的安装框架3.3、…

Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析

文章目录前言一、抽象(abstract)类的设计要点二、抽象类的应用实例2.1、创建一个抽象类2.2、创建抽象类非抽象子类2.3、通过上转型对象调用子类方法总结前言 面向抽象原则是面向对象四大基本原则的第一条,其重要性不言而喻,面向抽…

数据中心 PUE 优化模型生成服务:AI 浪潮下的数据中心的省钱攻略,就用这几招

文章目录前言一、数据中心节能能省一大笔钱1.1、全联接世界推动数据中心市场持续高速发展1.1.1、用户联接激增1.1.2、全球数据中心基础设施高速发展1.2、数据中心的增长带来超额的用电量1.3、数据中心节能是必然趋势1.4、什么是 PUE?1.5、数据中心制冷原理1.6、传统…

Eclipse 答疑:为什么 Eclipse 里面的鼠标光标变成了小黑方块?什么原因导致的?

文章目录前言一、问题产生场景二、问题原因分析2.1、问题直接诱因2.2、“Insert”按键作用分析2.2.1、插入(默认)状态解释及案例2.2.2、覆盖状态解释及案例三、对应解决方式总结前言 今天有一个学妹问我:学长,我的 Eclipse 太变态…

Java 设计模式 Day2 之面向抽象原则:接口(interface)的设计应用与抽象类的区别

文章目录前言一、接口(interface)的设计要点与抽象类的区别二、接口(interface)的应用实例2.1、创建一个接口(interface)2.2、创建实现接口的类2.3、通过接口回调调用被类实现的方法总结前言 面向抽象原则是…

Java 设计模式 Day3 之面向抽象原则:什么是面向抽象编程?面向抽象编程如何应用?

文章目录前言一、什么是面向抽象编程?二、传统场景的类设计2.1、项目场景设计2.2、传统类设计存在的问题三、采用面向抽象编程的类设计3.1、设计一个抽象类/接口3.2、采用上转型对象/接口回调调用子类方法3.3、重新设计子类/被实现类3.4、面向抽象编程的具体实现四、…

赢在 CSDN:我在 CSDN 的成长,“长风破浪会有时”,如何保证自己有持续写作的动力?

文章目录前言一、如何结缘 CSDN?1.1、我的“黑客之路”初探1.2、CSDN 一眼看得到的优势是什么?1.3、大学再遇 CSDN二、为什么开始在 C 站输出内容?2.1、“好记性不如烂笔头”2.2、记事本到“鼓励工具”三、C 站吸引我的地方是什么?3.1、海量…

华为工业云平台:制造业企业数据平台建设最佳实践分享

文章目录前言一、制造行业数字化转型和发展趋势1.1、制造行业数字化转型发展趋势1.2、制造行业数字化转型遇到的挑战1.3、政策牵引,加快数字化转型升级二、数字化转型-业务角度2.1、智能生产2.2、智能销售2.3、智能物流2.4、智能供应链2.5、智慧决策三、数字化转型-…

计算机本科毕业设计:毕业设计、论文要点及我们面对毕业答辩应持有的态度

文章目录前言一、对于毕业设计1.1、选题1.2、中期自查1.3、毕业设计答辩二、对于毕业论文三、我们应持有的态度3.1、人尽其才3.2、恪尽职守3.3、全力以赴3.4、做好自己总结前言 最近不断有很多学弟、学妹来找我咨询一些关于毕设、论文答辩的问题,一看日历四月份了&a…

Eclipse 答疑:Eclipse 使用 Amateras UML 创建类图点击 Finish 没反应解决方式汇总

文章目录前言一、问题产生场景1.1、Amateras UML 创建类图没反应二、问题原因分析三、问题定位及解决3.1、定位检查版本支持信息3.2、问题确认过程3.3、解决方式验证四、不想降低版本怎么办?总结前言 之前项目中在 Eclipse 使用 Amateras UML 创建类图点击 Finish 没…