Quarkus 3.7 将需要 Java 17

Quarkus 3.7 发布计划与 Java 17 要求

Quarkus 3.7 计划于 2024 年 1 月发布,将要求使用 Java 17 作为构建和运行应用程序的最低 JDK 版本。这一变化的主要原因是 OpenJDK 社区已于 2023 年 9 月停止对 Java 11 的主动支持,同时 Quarkus 的依赖项也将其基线升级到 Java 17。Quarkus 3.0 已于 2023 年 4 月发布,并已弃用对 Java 11 的支持。

Java 11 使用情况分析

Quarkus 的构建时分析数据显示,目前只有不到 8% 的用户在 Java 11 上运行 Quarkus 构建。New Relic 的《2023 年 Java 生态系统状态》报告也显示,Java 11 及更高版本的使用率有所上升,而 Java 8 的使用率则在下降。Oracle 已于 2023 年 9 月停止对 Java 11 的 Premier 支持,Red Hat 也将在 2024 年 10 月停止对 OpenJDK 的全面支持。然而,Adoptium 等其他组织将继续支持 Java 11,至少持续到 2027 年 10 月。

Java 17 基线升级的影响

Java 基线的提高意味着 Quarkus(插件)开发者现在需要支持并测试其代码在 Java 17 上的兼容性,并且可以利用 Java 17 的新特性。不过,Quarkus 目前尚未使用 Java 17 的特性,且并未真正需要这些特性来构建 Quarkus。升级基线的主要原因之一是 Quarkus(插件)依赖项需要 Java 17,Quarkus 团队希望支持这些依赖项。例如,计划于 2024 年发布的 Hibernate ORM 7 将要求 Java 17。

无法升级到 Java 17 的项目

无法升级到 Java 17 的项目可以继续使用 Quarkus 3.6,但项目组推荐使用 Quarkus 3.2,因为它是支持 Java 11 的最新长期支持(LTS)版本。然而,Quarkus LTS 版本仅支持一年,因此升级 Java 仍然非常重要。

支持更高版本 Java

虽然 Quarkus 也支持更新的 Java 版本(如 Java 21),但 Quarkus 选择将所需基线保持在 Java 17,因为许多项目尚未升级到该版本以上。

与其他 Java 工具和框架的策略一致

Quarkus 的策略与其他要求 Java 17 的 Java 工具和框架一致。例如,Spring Boot 3 于 2022 年 11 月发布,也要求 Java 17,这意味着所有使用 Spring Boot 3 的项目(如 JHipster)现在也需要 Java 17。其他示例包括 2023 年 7 月发布的 Micronaut 4 和 SonarQube 服务器,它们现在也都要求 Java 17 作为基线。

更多详细信息可参考 Quarkus 团队的官方公告。

阅读 64
0 条评论