Eclipse中JRE编译、运行版本及设置

一、Eclipse工作空间JRE编译版本

菜单栏window->preferences->java->compiler,如下图:

Eclipse中JRE编译、运行版本及设置

Eclipse中JRE编译、运行版本及设置

修改Compiler compliance level为对应的级别即可。Eclipse对java项目的编译并不是使用JDK完成的,是通过自带的ECJ(Eclipse Compiler for Java)来实现的,这也就解释了为什么你本地安装的JDK或启动Eclipse是在配置文件中通过-vm参数设置的jdk或新建项目时选择的JDK的版本为1.6时,在这里的编译级别却可以选为1.7或1.8的原因,因为所能编译的最高级别跟那些JDK根本没有关系,是由eclipse版本决定的。如果你的Eclipse在这个选项里没有你需要的级别,可以尝试着升级高版本来实现。


二、Eclipse工作空间JRE运行版本

菜单栏window->preferences->java->Installed JREs,

Eclipse中JRE编译、运行版本及设置

Eclipse中JRE编译、运行版本及设置

首先在该处添加你需要的JRE,注意此处是添加JRE即可,没有必要是JDK(被选中的JRE为Eclipse默认使用的JRE,即在你新建项目时如不特别指定会默认关联该JRE,在运行该项目时,使用该JRE执行),

三、项目JRE运行版本

右击项目,Java Build Path的JRE版本一般是和上面Eclipse工作空间JRE运行版本配置一样的,

但是可以手动更改项目的运行版本,如下图:

Eclipse中JRE编译、运行版本及设置Eclipse中JRE编译、运行版本及设置

这样设置后,Eclipse在run或debug项目时就会使用1.6版本的JRE。


四、编译与运行版本的关系

编译的级别可以低于运行JRE的版本,但是不能高于JRE的版本。大概关系如下:

1、Compiler compliance level =1.6     JRE=1.7

程序可以正常运行

2、Compiler compliance level =1.7     JRE=1.6

程序无法运行,通常会报如下错误

java.lang.UnsupportedClassVersionError: com/zfc/test/JreTest : Unsupported major.minor version 51.0

3、Compiler compliance level =1.7     JRE=1.7

程序可以正常运行


http://blog.****.net/zcdyx88/article/details/53928383