关于更换JDK后启动Eclipse时提示版本过低的一个解决方案

背景: 

在工作中, 我们可能会碰到多个jdk共存, 未额外安装任何jre, 并且我们使用的是低版本的jdk, 高版本的开发工具, 此文讲述使用的eclipse的运行环境是jre1.8, 其他版本遇到类似情况也可以参考此文给出的解决方案.

开发环境:

a. JDK版本: jdk1.7.0_80 jdk1.8.0_144


图1 已安装的JDK

b. Eclipse版本:  Oxygen Release (4.7.0)


图2 Oxygen登录界面

问题:

我们知道eclipse是由Java开发的, 所以它的运行是需要Java的运行环境的, 所以事先已经完成jdk1.7 和 jdk1.8的安装, 由于jdk自带jre, 所以无需额外安装jre. 

完成eclipse安装后, 运行eclipse, 发现并不能正常启动eclipse, 提示如下错误, 大意是1.7版的JVM无法适用于此版本的eclipse, 需要一个1.8或者更高版本的JVM.

图3 JVM版本不匹配


解决方案1(不推荐):

卸载jdk1.8, 并且附带安装jre1.8, 这是一个可以解决eclipse启动问题的笨方法, 但是当我们不需要额外的jre的时候, 或者说jre会影响我们项目开发的时候, 这个方案是不可行的. 


解决方案2(推荐):

因为我们有了jdk1.8, 所以就有了jre1.8和jvm1.8, 所以我们肯定有办法让eclipse在启动的时候找到正确的jvm. 

可是为什么eclipse不能正常启动呢?

答案很简单, 很多软件在启动的时候都会去检测环境变量里的配置, eclipse启动的时候也不例外. 我们在安装jdk1.8的时候, 软件会更改环境变量中的path路径, 额外并且在path变量的最前面加上了"C:\ProgramData\Oracle\Java\javapath;"(这是一个默认路径), 所以eclipse在启动的时候, 极大程度就检测不到最高版本的jvm了, 我们可以通过"java -version"命令确认这个情况. 

也就是说就算你安装上jdk1.8, 但是通过"java -version"命令看到的结果并不是关于1.8如图4, 预期效果图见图7:


图4 运行环境为1.7

接下来我们只需要将这段新增的路径放在path变量的最后面即可, 并且我们需要找到jre的bin目录("D:\develop\Java\jdk1.8.0_144\jre\bin;"), 将其添加到path变量的最前面,(这是解决此问题的关键) 这样就算是朝着成功迈出了坚实的一步.

图5 jre中的bin目录


图6 path中的变量值


图7 修改path变量值后的"java -version"命令

接下来,我们重新启动eclipse就可以看到图2的登录界面了, 更改一下环境变量就可以

去安装jre的麻烦, 并且成功避免jre带来的潜在问题, 感觉整个世界都变好了.


附:

登录问题是解决了, 作为一套完整的解决方案, 此处讲解eclipse的一些其他配置.


问题描述1: 很多老项目飘红(本来是红叉的, 我进行图8操作后就变成红色感叹号了,

我觉得没有必要额外卸载重新演示这个细节).

解决方案: Window-->preference-->Java-->compiler-->JDK Compliance


图8 修改默认编译的JDK版本

此时, 我们只需要再次build path一下就大功告成了.


图9 右键带有红色感叹号的项目


图10 修改jre版本, 建议使用工作空间默认的jre


图11 完成,项目可用

至此, eclipse(4.7.0)已经可以正常使用了.

  • 13
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lsucre

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值