Quarkus 3.0.0.Alpha1 发布 – Jakarta EE 10 版本的首个迭代
上周,Max Andersen 阐述了我们 Quarkus 3 和 Jakarta EE 10 的计划。
我昨天发布了一篇更详细的博客文章,解释了我们如何构建 Quarkus 3 版本。
现在是时候宣布 Quarkus 3.0.0.Alpha1 了,这是我们 Quarkus 3 版本的第一个迭代。
Quarkus 3.0.0.Alpha1 的一些要点
-
它基于 Quarkus 2.13.3.Final,因此拥有该版本的所有功能。
-
它面向 Jakarta EE 10,除了 JPA,我们仍然以 EE 9 为目标。因此,我们仍然使用 Hibernate ORM 5.6。
从 Quarkus 3 的主要目标来看,有些尚未实现
-
Eclipse MicroProfile 6 – 它甚至还没有发布,所以这不出所料
-
切换到 Flow API 而不是 Reactive Streams – 这正在进行中
-
如前所述,Hibernate ORM 6
由于上游问题,一些功能尚无法正常工作
-
REST Assured 仅支持 Jackson,不支持 JSON-B,因为没有支持
jakarta.*
包的 REST Assured 版本。
Alpha?
我们将此版本命名为 Alpha1,因为它仍在开发中,但不包含任何实验性内容。
这是一个非常稳定的 2.13.3.Final
版本,迁移到了 Jakarta EE 10,并进行了一些小的添加。
因此,它应该已经非常可用了。
尝试 Quarkus 3
目前,最简单的入门方法是使用 code.quarkus.io 或使用 Quarkus CLI
quarkus create app --stream=3.0
请注意,在此阶段,虽然所有核心扩展都可用,但只有 Quarkus 平台的部分可用。 并非所有扩展都已迁移到 Jakarta 包(例如,Camel Quarkus 或 Kogito 尚未可用)。
升级到 Quarkus 3
对于所有扩展都可用的现有应用程序,我们有一个早期的 OpenRewrite 配方,您可以尝试。
有一个单行程序尝试使用 JBang 脚本自动执行此操作
适用于 Linux
curl -Ls https://sh.jbang.dev | bash -s - --fresh upgrade-to-quarkus3@quarkusio
适用于 Windows
iex "& { $(iwr https://ps.jbang.dev) } --fresh upgrade-to-quarkus3@quarkusio"
使用 JBang 脚本也会迁移文档(以 Markdown on AsciiDoc 格式)。 这是首选方法,因为下面介绍的方法只会迁移源代码。 |
您也可以手动执行此操作,方法是下载 OpenRewrite 配方 并使用以下 Maven 命令手动应用它
curl -o quarkus3.yml https://raw.githubusercontent.com/quarkusio/quarkus/main/jakarta/quarkus3.yml
mvn org.openrewrite.maven:rewrite-maven-plugin:4.39.0:run \
-Drewrite.configLocation=quarkus3.yml \
-DactiveRecipes=io.quarkus.openrewrite.Quarkus3
对于多模块项目,建议在 |
运行此命令后,您的项目应已更新其依赖项和源代码以使用 Quarkus 3。
如果它对您不起作用,可能是我们遗漏了一些内容,或者您正在使用尚不支持 Quarkus 3 的扩展。
无论哪种情况,请告知我们,以便我们可以共同改进迁移脚本。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。