安装jdk后,自己配置环境变量不起作用的问题

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

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

原      因:在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的最前面。


在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的版本


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值