1. 概述

Java 生态发展迅速,JDK 至少每年发布一个新版本,我们迟早会遇到需要升级项目所使用的 Java 版本的情况。

本文将快速介绍如何在 Eclipse 中查看已安装的 JRE、添加新的 JRE,并切换项目所使用的 Java 版本,以便在需要时从容应对。

2. 确认所需 JRE 是否已在 Eclipse 中可用

首先确保你已经在系统中安装了目标版本的 JDK/JRE(参考 如何确认 JDK 是否已安装),然后需要确认该版本是否已被 Eclipse 识别。

打开 Window -> Preferences,然后导航到 Java -> Installed JREs

window preferences before adding jre extended window 1

如果目标版本已经列出,那就可以直接使用了 ✅。

但如果我们需要使用 Java 9、10 或 11,而当前只安装了 JDK 8,那么就需要手动添加。

3. 在 Eclipse 中添加新的 JRE

Window -> Preferences 窗口中,点击 Add… 按钮。选择 JRE 类型时,选择 Standard VM

add jre standard vm option 1

接着指定新 JRE 的安装路径(JRE home),然后点击 Finish

add jre with location 1

完成后,IDE 中将显示两个已配置的 JRE:

new jre added 2

4. 修改项目所使用的 Java 版本

假设我们当前项目使用的是 Java 8,现在想切换到 Java 10:

project in project tree before changing jdk

右键项目 -> Properties -> Java Build Path,选中当前的 JRE,点击 Remove

java build path empty 1

然后点击 Add Library,选择 JRE System Library

add library window 2

选择我们刚刚安装的 JavaSE-10,点击 Finish

jre system library window 1

此时项目的 Java Build Path 已更新:

java build path after change to java 10 1

⚠️ 还有一个关键步骤:确保 Java CompilerCompiler Compliance Level 设置正确:

java compiler after switch 1

如果发现不一致,可以取消勾选 Use compliance from execution environment,手动选择正确的版本。

最终项目结构如下:

project with java 10

5. 切换 Java 版本的几种方式

项目演进过程中,可能需要更换所使用的 Java 版本。但注意:不需要删除项目重建,也不一定非得移除旧的 JRE System Library

虽然 Eclipse 界面中仍大量使用“JRE”一词,但从 Java 11 开始,JDK 已内置 JRE,因此不再严格区分。

Eclipse 中有以下几种 JRE 使用场景:

  • Default JRE:工作空间的默认 JRE,所有新项目默认使用它。只有一个可以被设为默认。
  • Project JRE:项目构建时使用的 JRE,可与默认 JRE 不同。
  • Runtime JRE:项目运行时使用的 JRE,可在运行配置中修改。
  • Alternate JRE:非默认的其他 JRE,可作为项目或运行时 JRE 使用。

5.1. 设置默认 JRE

在创建任何项目之前,建议先设置好默认 JRE:

选择 Window > Preferences > Java > Installed JREs,勾选目标版本为默认:

Default JRE

5.2. 为新项目选择 JRE

创建新项目时,默认使用当前的默认 JRE:

select jre for project

项目创建后会绑定该 JRE:

project jre

测试一下运行时版本:

public class Main {
    public static void main(String[] args) {
        System.out.println(System.getProperty("java.runtime.version"));
    }
}

输出如下:

runtime jre default

5.3. 添加新的 Java 版本 JRE

假设我们要切换到 Java 21,先安装对应的 JDK:

add new jre definition

点击 Apply and Close 保存设置。

5.4. 修改项目构建路径中的 JRE

Java Build Path 中添加新的 JRE System Library

add library to build path

切换到 Order and Export 标签页,选中新添加的库,点击 Up 按钮提升优先级:

select the order and export tab

点击 Apply and Close 保存更改:

Apply and close

5.5. 使用新版本运行应用

再次运行程序,输出将变为新版本:

run same application

5.6. 切回旧版本

只需在 Order and Export 中将旧版本的 JRE System Library 移动到顶部即可:

switch back to old version

再次运行程序,可以看到版本已回退:

run with old version

5.7. 将新版本设为默认 JRE

如果希望所有新项目默认使用新版本,只需在 Installed JREs 中将其设为默认:

new java version as default jre

6. 总结

本文介绍了如何在 Eclipse 中添加新的 JRE,并切换项目使用的 Java 版本。通过配置项目构建路径和运行时设置,我们可以灵活地在多个 Java 版本之间切换,而无需重建项目。这对于日常开发和升级迁移非常实用 ✅。


原始标题:How to Change Java Version in an Eclipse Project | Baeldung

« 上一篇: Java Weekly, 第270期