Eclipse新建Java Project中的JRE选择含义

  • Post author:
  • Post category:java


参考:

https://blog.csdn.net/zcdyx88/article/details/53928383



https://blog.csdn.net/wdjhzw/article/details/42086615

(推荐)

本地环境:JDK1.8+JDK自带的一个JRE

需要明确的是:

编译项目使用的JDK版本不能高于其JRE版本

一、此处选择的是项目运行时的JRE版本,列表内容由Eclipse的版本决定,所以此处除了JavaSE-1.8还可以选择JavaSE-10等其他各个版本。

在这里插入图片描述

而由于我的电脑上只有JavaSE-1.8对应的JRE,当我选择了JavaSE-11前的版本是会报错的,选择其之后的版本如J2SE-1.2是通过的,这是因为JRE版本向下兼容的问题。

在这里插入图片描述

具体当前JRE的兼容问题可参考 Preferences ->Installed JRES

Jdk1.8的JRE完全匹配于JavaSE-1.8

在这里插入图片描述

jdk1.8的JRE可兼容于J2SE-1.2
在这里插入图片描述
JavaSE-11未安装可兼容的JRE版本
在这里插入图片描述

总结:此处选择的版本必须得

本地已安装的JRE中包含或者能兼容该版本

,否则该项目会因没有JRE而出现如上图的报错。同时选择了本地JRE可兼容的JRE版本时会出现如下警告:

在这里插入图片描述

当前的编译版本是1.5,而JRE用的是1.8的。

简单来说如果你选择的JRE版本是你本地未安装的,选择它在我看来就没啥意义了,因为和JDK版本进行比较的还是你实际在用的JRE



值得注意的是当我选择了JRE版本后

Eclipse会自动为该项目匹配同等级的JDK编译版本。

选择了J2SE-1.5后的编译版本如下图(有关编译见第二部分)

在这里插入图片描述

二、项目创建后还可以单独设置JDK编译版本。

它是

根据Eclipse内部提供

的ECJ(Eclipse Compiler for Java)设定的,而非本地自己安装的JDK。简单来说就是Eclipse对Java项目的编译是通过自带的ECJ(Eclipse Compiler for Java)来实现的,所以这里可

供选择的JDK版本依然是由Eclipse的版本决定的。

而如果你的Eclipse在这个选项里没有你需要的级别,可以尝试着升级高版本。

图2

注意:如果你选择的JDK版本高于项目下

实际使用的JRE版本

,程序运行会出现如下报错。

在这里插入图片描述

三、设置项目的JRE版本

就像上面解释的一样,之所以显示的J2SE-1.5是由刚刚项目建立时选择的JRE版本决定的,但由于本地没有JRE1.5所以会

自动匹配到高版本可用的JRE

,即实际使用的还是JDK1.8自带的JRE。

在这里插入图片描述


结语:感谢您的阅读!如有错误之处,烦请指出,再次感谢,祝工作顺心,生活愉快~



版权声明:本文为hui1setouxiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。