Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration to Jakarta EE packages (javax.* to jakarta.* namespace change) #21574

Closed
2 of 6 tasks
michael-schnell opened this issue Nov 19, 2021 · 21 comments
Closed
2 of 6 tasks
Labels
area/platform Issues related to definition and interaction with Quarkus Platform kind/epic Large issue with links to sub-issues
Milestone

Comments

@michael-schnell
Copy link
Contributor

michael-schnell commented Nov 19, 2021

Description

Other frameworks like Spring announced their movement to Jakarta EE 9+ with "javax." to "jakarta." namespace change. Quarkus should also support this.

At least a roadmap would be nice:
https://stackoverflow.com/questions/69438312/roadmap-for-quarkus-jakarta-ee-9-javax-to-jakarta-namespace-change

Subtasks

Components (non-exhaustive)

  • Hibernate produces a Jakarta artifact
  • Resteasy Reactive Jakarta conversion (issue TBD)
@michael-schnell michael-schnell added the kind/enhancement New feature or request label Nov 19, 2021
@gsmet
Copy link
Member

gsmet commented Nov 23, 2021

This is on our radar but we do not have a concrete plan for it yet.

@michael-schnell
Copy link
Contributor Author

Would be great if the JEE/Quarkus community is not slower with this important topic than the competitor Spring Boot ;-)

@michael-schnell
Copy link
Contributor Author

In the meantime SpringBoot already got a running snapshot while the "JEE native" Quarkus has not even a timeline:
https://twitter.com/juliendubois/status/1466333852021018627

@arjantijms
Copy link

@gsmet

This is on our radar but we do not have a concrete plan for it yet.

It's now a month later, do you already have a plan for it by now?

@gsmet
Copy link
Member

gsmet commented Jan 1, 2022

Our current position is that Jakarta EE 9 has a high impact on the users while not bringing much to the plate feature-wise.

We have plans to work on Jakarta EE 10 integration once it's available and also try to reduce the potential impact on the users.

@arjantijms
Copy link

while not bringing much to the plate feature-wise.

It's actually not bringing anything at all feature-wise. That's by design.

We did a Jakarta EE 9 so that tool and library vendors (such as yourself) and your users can more gradually prepare. I thought that was actually the strategy Red Hat had as input when we decided this and voted for it.

@michael-schnell
Copy link
Contributor Author

We did a Jakarta EE 9 so that tool and library vendors (such as yourself) and your users can more gradually prepare.

Mixing new features with the name space change seems not to be a good idea. I guess that's exactly why the Readhat strategy was: "EE 9 = namespace change" / "EE 10 = new features".

@gpor0
Copy link

gpor0 commented Feb 8, 2022

Any updates on this, some people are having issues using Quarkus along with new versions of libraries already having jakarta.validation dependencies. As a result we are in dependency conflict state and therefore stuck with the old versions since Quarkus does not provide a way to switch to new version. I know the pain and this should handled differently by Jakarta, but is it possible to make some kind of workaround like having quarkus-hibernate-validator-jakarta or something?

@gsmet
Copy link
Member

gsmet commented Feb 8, 2022

@gpor0 which libraries?

@gpor0
Copy link

gpor0 commented Feb 8, 2022

One of the examples in my case is Jooq but I believe many projects will start upgrading to newer versions of Jakarta soon...

@gsmet
Copy link
Member

gsmet commented Feb 8, 2022

Well, the newer versions of Jakarta are not yet ready. But sure, that's gonna happen.

And we will move to them. We just haven't agreed on a schedule yet.

Anyway, it's a good thing to list things that start to become problematic here.

@lukaseder
Copy link

One of the examples in my case is Jooq but I believe many projects will start upgrading to newer versions of Jakarta soon...

For the record, jOOQ 3.16's upgrade was mostly driven by this: spring-projects/spring-boot#28821 (Spring again).

@arjantijms
Copy link

arjantijms commented Feb 10, 2022

@lukaseder thanks for moving though. It's a painful process (I've been involved with the move to jakarta.* since the very start), but the more projects move over the sooner it's done. The latest versions of Tomcat and Jetty have moved as well, so more and more people will be asking for Jakarta.* versions.

@arjantijms
Copy link

@gsmet

We just haven't agreed on a schedule yet.

It should be really much later than when CDI-Quarkus is released right? As that one is using the Jakarta.* namespace.

@lukaseder
Copy link

@arjantijms Yes indeed. jOOQ doesn't make a lot of use of Jakarta packages, it's just a tiny integration layer, and nonetheless, this issue got 6 upvotes: jOOQ/jOOQ#9641. I think it's time.

@n1hility n1hility added the kind/epic Large issue with links to sub-issues label Feb 21, 2022
@n1hility n1hility changed the title Support for Jakarta EE 9+ (javax.* to jakarta.* namespace change) Migration to Jakarta EE packages (javax.* to jakarta.* namespace change) Feb 21, 2022
@n1hility
Copy link
Member

n1hility commented Feb 21, 2022

I hope you don't mind I repurposed this to a main tracking EPIC.

@n1hility n1hility added area/platform Issues related to definition and interaction with Quarkus Platform and removed kind/enhancement New feature or request labels Feb 21, 2022
@gsmet
Copy link
Member

gsmet commented Mar 26, 2022

For the record, we have started a Jakarta initiative with a first goal of automating entirely the migration to Jakarta EE 9 using the Eclipse Transformer and OpenRewrite and make it reproducible.

Once this is done we will work on updating to EE 10 (it will require some code changes so we want to do that in a second step). Again with the goal of automating the whole update.

If you are interested in this effort, we are labelling every PR of this initiative with the area/jakarta label:
https://github.com/quarkusio/quarkus/pulls?q=is%3Apr+label%3Aarea%2Fjakarta

The core of the infrastructure is almost done. Then we will have to go through the extensions to tweak them individually. For most of them, it shouldn't require too much work but some specific ones will require some more involved work.

I'll post here about our progress from time to time.

@mshabarov
Copy link

@gsmet could you please give an estimated date when you plan to release a prerelease/GA version of Quarkus with Jakarta EE 9 or 10 support? Based on this board, the work seems to be in progress https://github.com/orgs/quarkusio/projects/13/views/20.

@gsmet
Copy link
Member

gsmet commented Sep 26, 2022

@mshabarov I'm preparing a blog post to explain our plans.

@arimeyer
Copy link

arimeyer commented Oct 1, 2022

We're also looking forward to using JPA 3 and Hibernate 6.x, which are dependent on the Jakarta EE migration. I posted about this a few months back: #26766 . Thanks

@cescoffier cescoffier moved this from Todo to In Progress in Quarkus Roadmap/Planning Nov 10, 2022
@geoand
Copy link
Contributor

geoand commented Mar 20, 2023

Quarkus main has already moved to jakarta packages and the Alpha* releases provide a way for users to test what will soon be Quarkus 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/platform Issues related to definition and interaction with Quarkus Platform kind/epic Large issue with links to sub-issues
Projects
Status: Done
Development

No branches or pull requests

9 participants