The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Quarkus 3.0.0.Alpha1 released - First iteration of our Jakarta EE 10 stream

I published yesterday a more detailed blog post explaining how we are building the Quarkus 3 stream.

It is now time to announce Quarkus 3.0.0.Alpha1 which is the first iteration of our Quarkus 3 stream.

A few key points about Quarkus 3.0.0.Alpha1:

  • It is based on Quarkus 2.13.3.Final so it has all the features of this version.

  • It targets Jakarta EE 10, except for JPA, where we are still aiming at EE 9. Thus we are still using Hibernate ORM 5.6.

From the key targets we have for Quarkus 3, some are not there yet:

  • Eclipse MicroProfile 6 - it is not even released so no surprise there

  • Switch to the Flow API instead of Reactive Streams - it is a work in progress

  • As mentioned previously, Hibernate ORM 6

A few things are not working yet, due to upstream issues:

  • REST Assured only works with Jackson, not with JSON-B, as there is no versions of REST Assured supporting the jakarta.* packages.

Alpha?

We named this version Alpha1 because it is still a work in progress but it doesn’t contain any experimental stuff.

It is a very stable 2.13.3.Final converted to Jakarta EE 10 with some minor additions.

As a result, it should already be very usable.

Quarkus 3を試してみる

今のところ、最も簡単な方法は、 code.quarkus.io を使用するか、Quarkus CLIを使用することです:

quarkus create app --stream=3.0

Mind you that at this stage, while all the core extensions are available, only parts of the Quarkus platform is present. Not all extensions have yet migrated to Jakarta packages (e.g. Camel Quarkus or Kogito are not yet available).

Quarkus 3へのアップグレード

For existing applications where all extensions are available, we have an early OpenRewrite recipe that you can try.

There is a one-liner that attempts to do it automatically using a JBang script:

For Linux:

curl -Ls https://sh.jbang.dev | bash -s - --fresh upgrade-to-quarkus3@quarkusio

For Windows:

iex "& { $(iwr https://ps.jbang.dev) } --fresh upgrade-to-quarkus3@quarkusio"

Using the JBang script also migrates the documentation (in Markdown on AsciiDoc).

It is the preferred method as the one presented below will only migrate the source code.

You can also do it manually by downloading the OpenRewrite recipe and apply it manually with the following Maven command:

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

For multi-module projects, it is recommended to specify an absolute path in the -Drewrite.configLocation parameter so that the submodules can find the migration descriptor.

Once this has been run your project should have its dependencies and source code updated to use Quarkus 3.

もしうまくいかない場合は、私たちが何か見落としているか、Quarkus 3をサポートしていないエクステンションを使用している可能性があります。

Let us know in either case so we can together improve the migration script.

参加のお誘い

私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!

Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!: