Ondro Mihályi @OmniFishEE
How to Easily Upgrade to
Jakarta EE 10
Javax to Jakarta Prefix without a Hassle
Slide 2
Slide 2 text
Ondro Mihályi @OmniFishEE
Who am I?
Java Champion
Czech JUG lead
(CZJUG)
Jakarta EE
specifications
committer
Director at
OmniFish
Slide 3
Slide 3 text
Ondro Mihályi @OmniFishEE
What’s new in Jakarta EE 9?
javax.* → jakarta.*
Slide 4
Slide 4 text
Ondro Mihályi @OmniFishEE
So what?
Search & Replace and we’re done...
Slide 5
Slide 5 text
Ondro Mihályi @OmniFishEE
Slide 6
Slide 6 text
Ondro Mihályi @OmniFishEE
Or
not?
Slide 7
Slide 7 text
Ondro Mihályi @OmniFishEE
It’s not that easy
some javax
packages
not renamed
XML
namespaces
renamed
properties
renamed
javax in
dependencies
javax
transitive
dependencies
APIs dropped in
Jakarta EE 10
Slide 8
Slide 8 text
Ondro Mihályi @OmniFishEE
Impact of Jakarta EE 9
javax.* → jakarta.*
●
App servers
●
Tomcat, Jetty, …
●
Spring 6
●
SpringBoot 3
●
Quarkus 3
●
The list goes on...
Ondro Mihályi @OmniFishEE
Transformer + OpenRewrite = Best Results
Slide 15
Slide 15 text
Ondro Mihályi @OmniFishEE
1st step: Transformer for source code
Slide 16
Slide 16 text
Ondro Mihályi @OmniFishEE
2nd step: OpenRewrite for source code
Slide 17
Slide 17 text
Ondro Mihályi @OmniFishEE
What about dependencies?
Newer version with
jakarta.*
No version with
jakarta.*
Slide 18
Slide 18 text
Ondro Mihályi @OmniFishEE
Upgrade dependencies
●
Supports jakarta.* → upgrade version
●
Provides javax.* and jakarta.* variant
●
“jakarta” classifier
●
different artifact name
Slide 19
Slide 19 text
Ondro Mihályi @OmniFishEE
Transform dependencies
●
Doesn't support jakarta.* (yet)
→ Transform JAR with Transformer
→ With all transient dependencies
Slide 20
Slide 20 text
Ondro Mihályi @OmniFishEE
Finally!
Slide 21
Slide 21 text
Ondro Mihályi @OmniFishEE
Questions
Slide 22
Slide 22 text
Ondro Mihályi @OmniFishEE
Demo
Repository with source code of demo
projects:
https://github.com/OmniFish-EE/Presentation-
Upgrade-To-Jakarta-EE-10
Slide 23
Slide 23 text
Ondro Mihályi @OmniFishEE
Resources
●
Eclipse Transformer
●
OpenRewrite
●
Guide at the OmniFish blog
●
https://omnifish.ee
Slide 24
Slide 24 text
Ondro Mihályi @OmniFishEE
Thank you!
Jakarta EE
Consultancy
(migrations, tuning)
Jakarta EE
Application
Development
GlassFish
Server
Support
Jakarta EE
Training
omnifish.ee
OmniFish - Jakarta EE Consulting & Support