多jdk后java和javac不一致以及切换后不一致

在安装多个JDK版本的Windows系统中,切换JDK时,通过环境变量修改可能无法使`java -version`和`javac -version`显示相同版本。解决方法是在`C:ProgramDataOracleJavajavapath`目录下删除java.exe, javaw.exe, javaws.exe,以确保两者版本一致,恢复正常编译。" 78378357,7366780,使用并查集判断迷宫设计是否符合要求,"['算法', '图论', '数据结构', '编程题']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     当同一个系统里装了两个不同版本jdk的时候,如果想要切换当前使用的jdk版本,如果单纯更改环境变量里的值,在cmd中查看java -version和javac -version的时候,可能会发现二者的版本号不一致,这时编译等环节就无法正常进行。

    网上大部分解决的思路都和这篇博客(点击打开链接)的内容是类似的,不过尝试之后发现这个解决策略并不适用于win10,不过根据上面博客的分析,发现问题在于要删除的java.exe,javaw.exe,javaws.exe的位置并不在C盘windows文件夹下的System32,而是在C:\ProgramData\Oracle\Java\javapath,这个目录在系统变量中的path变量中可以看到,删除这个目录下的三个exe文件,再次查询java -version和javac -version,发现二者一致了,问题就解决了。

    以上转载自https://blog.youkuaiyun.com/jijijix/article/details/79115861点击打开链接

    后来我发现,只删除C:\ProgramData\Oracle\Java\javapath路径下的java.exe,javaw.exe,javaws.exe,是有用的,当时的确一致了,但是当你需要切换jdk的时候你会发现又不一样了,所以解决办法是把C盘windows文件夹下的System32下java.exe,javaw.exe,javaws.exe也删掉,这样就可以了。C:\Program Files (x86)\Common Files\Oracle\Java\javapath以及java下类似的名字文件夹中也有java.exe,javaw.exe,javaws.exe,也会有影响。。
     嗯,要是都不行,建议按照自己的path环境变量一条条查下去,有时C:\Program Files\Common Files\Oracle\Java\javapath这个目录也会有影响(装jdk17时的发现)
   我猜测C盘windows文件夹下的System32下是java运行环境,对应java -version;而C:\ProgramData\Oracle\Java\javapath是java编译环境,对应javac -version
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值