解决win10安装新旧java版本后,配置新版本环境变量后,java版本不生效问题

背景:

现在各种中间件需要的java版本都不一样,比如trino需要的是17+,而hudi编译的话最好不超过10,这样便有冲突。 所以存在jdk版本需要升降问题。

原来win10系统已经通过直接download官网的.exe文件安装了jdk17,现在需要降版本到jdk1.8,这时会出现一个问题,尽管你通过环境变量制定了jdk版本为现在安装的1.8:

然后powershell里面java -version一把发现:

java 复制代码
PS C:\Users\Administrator> java -version
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing)

原因在于,通过.exe安装会有个优先级高的path,设置,基本上会在两个地方:

makefile 复制代码
C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\javapath

这下面会看到有

复制代码
java.exe
javac.exe
javaw.exe

等。

粗暴一点的做法,就是把这些路径下的可执行文件删了,那么找不到,再会找到你设置的环境变量路径了:

java 复制代码
PS C:\Users\Administrator> java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
相关推荐
lhldsg4 分钟前
酒吧点餐小程序开发:从需求分析到技术落地实战
java·前端·小程序·架构·交友
用户3126874877207 分钟前
volatile 到底能保证什么?JMM 与内存屏障深度剖析
java
吴声子夜歌26 分钟前
Guava——集合(二)
java·guava
xiaoqiMikko26 分钟前
一句“为了保持同步”的注释,正好打破了同步 —— Netty 响应错配漏洞实测
java
疯狂打码的少年31 分钟前
【数据库技术】SQL高级查询(分组/排序/聚合函数)
java·数据库·笔记·sql
DDXYcoder32 分钟前
万字解析动态内存从编译到运行
java·前端·算法
坐吃山猪1 小时前
【多线程】什么时候必须/推荐使用Thread类
java·开发语言
一只小阿乐1 小时前
java 快速上手开发 2
java·开发语言·前端
骇客野人1 小时前
SpringBoot+SpringCloud高并发系统设计、搭建与落地实施方案
java·spring boot·spring cloud
张宇Joaquin1 小时前
灵渠测试工具-urma_perftest
java·开发语言