解决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)
相关推荐
全栈凯哥1 小时前
16.Spring Boot 国际化完全指南
java·spring boot·后端
M1A11 小时前
Java集合框架深度解析:LinkedList vs ArrayList 的对决
java·后端
Top`1 小时前
Java 泛型 (Generics)
java·开发语言·windows
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 小时前
如何使用Java WebSocket API实现客户端和服务器端的通信?
java·开发语言·websocket
是小崔啊2 小时前
tomcat源码02 - 理解Tomcat架构设计
java·tomcat
没有bug.的程序员2 小时前
JAVA面试宝典 -《安全攻防:从 SQL 注入到 JWT 鉴权》
java·安全·面试
栈溢出了2 小时前
MyBatis实现分页查询-苍穹外卖笔记
java·笔记·mybatis
morningcat20182 小时前
java17 gc笔记
java·jvm·笔记
3 小时前
Unity开发中常用的洗牌算法
java·算法·unity·游戏引擎·游戏开发
Your易元3 小时前
设计模式-模板方法模式
java·设计模式·模板方法模式