Quarkus 3.0.0.Alpha3 发布 - Jakarta EE 10 流的第三次迭代

您可能已经知道,我们去年开始了 Quarkus 3.0 的工作,并且我们正在继续这项工作,这些工作在这里这里这里这里进行了描述。

Quarkus 3.0.0.Alpha3 是这项工作的第三次迭代。

在 Jakarta EE 10 方面,除了少数错误修复和升级外,它没有带来任何新东西。

但它带来了一些重大变化

我们计划在一个月左右发布下一个 Alpha 版本。 在此之前,我们鼓励您对其进行测试并报告您的反馈。

尝试 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

对于多模块项目,建议在 -Drewrite.configLocation 参数中指定绝对路径,以便子模块可以找到迁移描述符。

运行此命令后,您的项目应已更新其依赖项和源代码以使用 Quarkus 3。

如果它对您不起作用,可能是我们遗漏了一些内容,或者您正在使用尚不支持 Quarkus 3 的扩展。

无论哪种情况,请告知我们,以便我们可以共同改进迁移脚本。

加入我们

我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!

如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区