window 命令行运行的java 和 javac 显示的版本不同

1.问题描述

    最近在学习发现在window下的命令行窗口运行  java -version   显示的是1.8的版本, 而运行 javac -version  显示的版本确实1.7版本。而我的环境变量中只配置了1.7的jdk(虽然我也安装了1.8,之前也配置过1.8的jdk)。如下:

2.解决问题方法

方法一   把Path关于java的配置提到最前面。  

方法二   把System32文件下的java.exe 文件删除

 

3.原因探究

java的高版本在进行安装的时候,会把java.exe复制到System32这个文件下一份。而环境变量虽然配置了1.7,但是由于window先读取system32下的文件(path中也有system32上面的配置),window先读到高版本的java,之后虽然有1.7的配置,window不会再读取。

4.win10下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,发现二者一致了,问题就解决了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值