java jdk 环境不一致_window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题...

在Windows上安装多个JDK版本时,即使修改了环境变量,可能仍会遇到实际运行版本与预期不符的情况。原因是JDK在安装后会将可执行文件复制到System32目录,并在特定路径添加快捷方式。解决方法包括删除环境变量中的特定路径,或者直接删除System32下的java.exe等相关文件。
摘要由CSDN通过智能技术生成

问题描述:window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题 ?

现      象:Windows机器,先安装了JDK1.8 64位,然后配置了JAVA_HOME等环境变量,后面又安装了JDK 1.8 32位(不修改环境变量,环境变量还是指向1.8 64位)。随后我们在命令行中输入:java -version时,发现环境变量中的jdk是1.8 32位。是什么原因造成的呢?又应该如何来解决?

原      因:在1.7版本及以后,安装完jdk后,

1.会把java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录;

2.会把当前安装的jdk的运行路径写在【C:\Program Files (x86)\Oracle\Java\javapath】和【C:\ProgramData\Oracle\Java\javapath】文件中;

3.这两个文件夹中存放的是java.exe、javaw.exe、javaws.exe三个可执行文件,然后把这两个运行路径写入环境变量path的最前面。

4.

54eb3cbdb58fa4c102b83b33b2802c99.png

在jdk在运行的时候

①.先找C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件;

②.如果找不到①中的文件,就找环境变量中的第一个运行路径【C:\Program Files (x86)\Oracle\Java\javapath】;

③.如果找不到②中的路径的文件,就找第二个运行路径【C:\ProgramData\Oracle\Java\javapath】;

④.最后才会使用我们自己配置的jdk的环境变量JAVA_HOME。

注意:①②③④的优先级依次从高到低,任何一级找到了环境运行的文件,则不在往下找了。

解决办法:

1.删除环境变量path中的【C:\Program Files (x86)\Oracle\Java\javapath】

2.删除环境变量path中的【C:\ProgramData\Oracle\Java\javapath】

注意:其实上面1、2删除以后就可以使用我们自己配置的环境变量JAVA_HOME了,不过【C:\Program Files (x86)\Oracle\Java\javapath】和【C:\ProgramData\Oracle\Java\javapath】这两个文件中的内容也没有什么用,可以直接删除这两个java文件

如果上面还不起作用:

3.将C:\Windows\System32目录下的java.exe,javaw.exe,javaws.exe删除即可

然后运行java -version看是不是我们自己配置的java的版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值