Use default JRE:

When selected, the New Java Project Wizard creates a new Java project which uses the workspace default JRE. The default JRE can be configured on the Java > Installed JREs preference page.

The project will also use the default compiler compliance which can be configured on the Java > Compiler preference page.

Click on Configure default... to configure the default JRE and compiler compliance.

Use project specific JRE:

When selected, you can explicitly specify the JRE to be used for the new Java project. The new project will use a compiler compliance which matches the version of the selected JRE.

Use an execution environment JRE:

When selected, you can specify an execution environment to be used for the new Java project. The new project will use a compiler compliance which fits best the selected execution environment.

Execution environments can be configured on the Java > Installed JREs > Execution Environments preference page.

 

其实官方的解释客观来讲应该是解释清楚了的,但是他在解释的同时,又带出了其余的陌生概念,就是这个compiler compliance。那就先把这个compiler compliance的概念搞清楚。

首先,设置他的地方在这里 Java > Compiler 

 传智播客上海java培训就业班 ****

Compiler compliance level,直译是“编译器服从的等级”。这个参数是设置你的class的运行等级,即你的程序是以哪种版本的JDK进行编译,所以得到的class至少要在这个版本的JRE上运行才行。

举个例子:

比如你的JDK版本是1.7,默认情况下你的Compiler compliance level应该是1.7,因为JRE本来就是为对应版本的JDK开发的程序所服务的。新的JDK提供了更多的功能,而这些功能都要有对应的JRE(至少是对应的JRE)来提供运行环境。所以你的JDK的版本要大于等于Compiler compliance level的版本才行。

之所以提供了这个参数选项,是考虑到将当前编写的程序放到低版本的JRE环境中运行的这种状况。同时,为了能够顺利保证可以在低版本的JRE上运行,你要时刻保证不能使用高版本的JDK中提供的API,道理显而易见。

最后,你必须安装对应的低版本的JRE来运行这个经过降级编译的程序,否则他提示你安装对应版本的JRE。如图。 

 传智播客上海java培训就业班 ****

 

下面说建工程时这三个JRE选项具体要怎么对待。

1.Use default JRE:

你会注意到,我解释compiler compliance时的最后那张图上,有一个Configure…跳转。

传智播客上海java培训就业班 ****

他会跳转到这里 Java > Installed JREs 

 传智播客上海java培训就业班 ****

在这里,你可以配置你电脑中的JRE,只要你想,从1.1到1.7,当然现在最新有1.8,所有版本的JRE你都可以安装,并通过旁边的Add按钮添加到这里。注意这里是JRE,之所以Name中有JDK,是因为这个JRE是JDK附带的,不是独立安装的。JRE可以随便你装多少,但JDK一个就够了。

注:JDK(Java Development Kit)为开发包,其中包含了JRE。JRE(Java Runtime Environment)为运行环境

每个JRE前面都有一个复选框,虽说是复选框,但只能有一个被选中,而被选中的就会作为默认JRE。

所以,Use default JRE的作用,就是在你建立工程时,如果选中,就将这个默认JRE作为你构建用的JRE。就像我最开始的那张图上一样,并给出了提示“currently 'jdk1.7.0_71'”。

 

2.Use project specific JRE

其实这个选项跟Use default JRE是互补的。之前说道,你可以安装很多版本的JRE,选择Use default JRE就会指定默认JRE为你构建用的JRE,但如果你想选择其它你所安装的JRE的话,就可以选中这个Use project specific JRE,在其后的下拉菜单中,你就可以选择你想使用的JRE。

同时,compiler compliance也会被设置为对应JRE版本的编译级别。

 

3.Use an execution environment JRE

这个选项是最令人纠结的。你点开其后的下拉菜单,会看到这样一幕。

 传智播客上海java培训就业班 ****

它提供了eclipse支持的所有运行环境选项(只是选项而已,还需安装对应版本的JRE)。

按照官方的解释,选中该选项,你的compiler compliance将会被设置为对应你所选的JRE版本。

比如,我电脑上只有JRE1.8,如果我选中Use an execution environment JRE,并选择了“JavaSE-1.7”,那么就会有这样的提示。

 传智播客上海java培训就业班 ****

The default compiler compliance level for the current workspace is 1.8.The new project will use a project specific compiler compliance level of 1.7.

现在工作空间默认的编译级别是1.8,新项目将会使用特定的编译级别1.7。

这样看起来好像跟我之前讲的自定义compiler compliance如出一辙,而且好像解决了那个需要对应低版本的JRE的警告问题。

但是,当你建立完工程,会看到Problems视图里有一个警告。

 传智播客上海java培训就业班 ****

嗯,没错,你仍然需要安装对应版本的JRE才行。

不过,你写个“Hello World!”还是可以运行的。但是最Perfect match的选择是装一个对应版本的JRE,这里的Perfect match,出自这里。

 传智播客上海java培训就业班 ****

这里就是设置那一堆JRE选项的兼容JRE。如果你安装了多个版本的JRE,在右边的Compatible JREs列表里,会列出左边Execution Environment对应的兼容JRE。

我装过1.7和1.8版本的JDK,自然有对应版本的JRE,高版本兼容低版本,所以所有的列表中都有这两个选项。但对于JavaSE-1.7来说,最Perfect match的当然是对应自己版本的JRE。而且他版本,除非你也安装了对应的JRE,否则找不到那个Perfect match JRE。

同时,如果你想指定Execution Environment中某个JRE的默认兼容JRE,那就在右边的那个JRE前面勾选复选框。

相关文章: