当前位置: 首页 > article >正文

jdk版本与环境变量配置的版本不一致问题

因为需要用到多个版本的jdk,所以我同时安装了好几个,在使用【java -version】命令查看jdk版本的时候,信息如下:

java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

但是我配置的环境变量如下:

JAVA_HOME

C:\Program Files\JDK\jdk-17.0.8\jdk-17.0.8

Path

%JAVA_HOME%\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\VMware\VMware Workstation\bin\;%SystemRoot%\system32;%SystemRoot%;G:\Program Files\MySQL\MySQL Server 8.0\bin;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\TortoiseGit\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\WinMerge;C:\Program Files (x86)\NetSarang\Xshell 7\;C:\Program Files\nodejs\;%MAVEN_HOME%\bin;%GRADLE_HOME%\bin;%GROOVY_HOME%\bin;%CATALINA_HOME%\bin;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\Users\xanadu\Desktop\ffmpeg-git-full_v5.1.2\ffmpeg-git-full_v5.1.2\ffmpeg-2023-02-09-git-159b028df5-full_build\bin;C:\Program Files (x86)\NetSarang\Xftp 7\;C:\Program Files (x86)\NetSarang\Xmanager 8\;%PROTOC_HOME%\bin;

可以发现我并没有配置任何关于jdk1.8的环境变量。

于是我在想是不是jdk目录是17其实内部是1.8的版本?于是我去【C:\Program Files\JDK\jdk-17.0.8\jdk-17.0.8\bin】目录下执行了一下【java -version】,发现的确是jdk17

C:\Program Files\JDK\jdk-17.0.8\bin>java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

我就纳闷了,为什么环境变量配置的jdk不生效,反而是1.8生效了?于是网上查了下资料,说是安装jdk的时候会自动在注册表中写入信息:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft

在这里我看到了被注册的jdk1.8.0_381。于是我直接把它删掉了,重新打开cmd窗口查看jdk版本,信息如下

C:\Users\xanadu>java -version
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

直接给我报错了,我就更纳闷了,之前jdk直接解压配个环境变量都能用,为啥现在不行了呢?又再查资料,发现C盘下可能还存在jdk1.8残留的东西。

要么在【C:\Windows\System32】下,要么在【C:\ProgramData\Oracle\Java\javapath】下,找到【java.exe,javaw.exe,javaws.exe】这3个文件,把它们删掉。

如果两个路径都不在的话,在cmd窗口输入【where java】 命令查看java的位置,我的也正是这种情况,在【C:\Program Files (x86)\Common Files\Oracle\Java\javapath】下面找到了这三个文件。于是把它们删掉,

然后在cmd窗口再查看java版本,输入【java -version】查看,发现成功更换为jdk17

C:\Users\xanadu>java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

http://www.kler.cn/news/334837.html

相关文章:

  • pdf处理1
  • 课设实验-数据结构-单链表-文教文化用品品牌
  • 血液细胞计数与检测(BCCD)数据集教程
  • 03 去重排序
  • VSCode 中配置 C/C++ 环境的步骤
  • STL07——手写一个简单版本的unordered_set
  • Python编程探索:从基础语法到循环结构实践
  • 千万不要运行!几个可以整蛊你朋友的Python程序!
  • 云RDS MySQL迁移至本地MySQL
  • 周报_2024/10/6
  • VB6.0 怎么让窗口固定没有放大只有缩小
  • 强大的JVM监控工具
  • 2.2Mybatis——代理与SQL映射
  • SpringBoot MyBatis连接数据库设置了encoding=utf-8还是不能用中文来查询
  • 一、走进新语言
  • docker下载mysql时出现Unable to pull mysql:latest (HTTP code 500) server error 问题
  • 3GPP链路级仿真-Link-Level Simulator for 5G Localization
  • 深度学习:cGAN和pix2pix图像转换
  • 初识算法 · 双指针(2)
  • C/C++/EasyX——入门图形编程(5)