解决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)
相关推荐
闲猫7 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
自信的未来8 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty8 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
怕孤单的草丛9 小时前
缓存管理面临的主要问题
java·数据库·缓存
犀利豆11 小时前
AI in Harness(二)
java·人工智能·后端
沉静的小伙13 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途13 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
醇氧13 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
ylscode14 小时前
Cloudflare Workers Cache 深度解析:边缘缓存如何重塑无服务器性能边界
java·spring·mybatis