Quarkus 3.0 发布:通过支持 Jakarta EE 10 提升云原生 Java 开发

Quarkus 3.0 正式发布

Red Hat 在经过六个 alpha 版本、一个 beta 版本和两个候选版本后,正式发布了备受期待的 Quarkus 3.0 版本。此版本带来了众多新功能和改进,以下是主要内容概述:

主要新功能

  1. 支持 Jakarta EE 10 和 MicroProfile 6.0

    • Quarkus 3.0 迁移到 Jakarta EE 10,采用了新的 jakarta.* 包命名空间。
    • 引入了 CDI Lite 和 Build Compatible Extensions (BCE),增强了扩展的兼容性和构建时优化。
  2. Hibernate ORM 6.2 和 Hibernate Reactive 2.0

    • Hibernate ORM 从 5.0 升级到 6.2,带来了多项变化,部分为破坏性更新,开发者需参考迁移指南进行调整。
    • Hibernate Reactive 升级到 2.0,以保持与 Hibernate ORM 6 的兼容性。
  3. SmallRye Mutiny 2.0.0

    • 升级到 SmallRye Mutiny 2.0.0,改用 Java Flow API 替代 Reactive Streams。
  4. 改进的开发者体验

    • 全新的 Dev UI,提供更现代、可扩展且用户友好的界面。旧版 Dev UI 仍可通过 /q/dev-v1 访问,但将在未来版本中移除。
    • CLI、Maven 和 Gradle 插件得到增强,支持将应用部署到 Kubernetes、Knative 和 OpenShift 等平台,无需修改项目依赖或配置。
    • 支持 Maven 3.9 和 Gradle 8.0,最低要求为 Maven 3.8.2。
  5. Eclipse MicroProfile 6.0

    • 与 Jakarta EE 10 Core Profile 对齐,用 MicroProfile Telemetry 替代 MicroProfile OpenTracing。
    • RESTEasy Reactive 增强了可用性,支持检索所有 multipart parts。
  6. OpenTelemetry 扩展

    • 支持 SDK 自动配置,配置命名空间改为 quarkus.otel.*
    • 简化了 JDBC 的 OpenTelemetry 启用,只需设置 quarkus.datasource.jdbc.telemetrytrue

Java 11 的弃用

由于 OpenJDK 社区将在 2023 年 9 月结束对 Java 11 的主动支持,Quarkus 将其标记为弃用。尽管核心功能仍将继续支持 Java 11,但建议开发者升级到 Java 17 或更高版本以获得最佳体验。

迁移支持

为帮助开发者顺利迁移到 Quarkus 3.0,提供了以下资源:

  • 全面的 迁移指南
  • 专门的 Hibernate ORM 6.2 更新指南。
  • 新增的更新工具,可自动化处理包名调整、依赖更新、配置文件升级以及 Quarkiverse 扩展的兼容性更新。

总结

Quarkus 3.0 的发布标志着 Java 生态系统的一大进步,为开发者提供了更强大的工具和更优的体验。通过专注于开发者体验、性能和可扩展性,Quarkus 3.0 巩固了其作为构建高效、弹性应用的顶尖 Java 框架的地位。

阅读 30
0 条评论