怎么查看jre版本_javac和java版本不一致问题

今天有个小伙伴提了个问题:他在本地调试代码,编译和运行时,出现了版本不一致的问题。明明java_home配置没有问题,为什么会出现不一样的版本?

我先简单重现下当时的问题:首先,写了一个简单的java文件,当然,语法没有问题,编译也通过了,但运行时报错了

0296d633ef5dc0102e556b49ddbfe704.png

既然这样,咱就来看看版本

4d289b83b62f4a369740df4aca671e45.png

那么,问题来了,javac版本号11.0.5,java版本号1.8.0_152

为什么呢?不妨先来看看java_home的配置,是jdk1.11.0.5。那这个1.8.0_152是哪里来的?

因为这台机器上同时安装了jdk11.0.5和1.8.0_152,并且在PATH变量的配置中,C:WINDOWSsystem32目录在%JAVA_HOME%bin之前。在Windows命令行下执行命令时,先从当前目录搜索,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:WINDOWSsystem32目录下,所以执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。

原因知道了,如何解决?

解决方案:

将%JAVA_HOME%bin加在PATH变量的最前面,执行java -version和javac -version,均为11.0.5版。

结果:

7f1e0a5e094de6965db7c705d4197997.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值