Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Upgrade to Jakarta EE 10: javax to jakarta Prefix Without a Hassle

How to Upgrade to Jakarta EE 10: javax to jakarta Prefix Without a Hassle

This session will guide you on upgrading applications to Jakarta EE 10 or frameworks like Spring Boot 3. Based on my experience and research, I'll show you a safe path from Java EE to Jakarta EE 10.

After Java EE became Jakarta EE, a major change occurred in Jakarta EE 9 - renaming packages from javax to jakarta. It sounds easy to automate, but in reality it's not so simple. Manual search and replace can be tedious. You need to upgrade libraries to versions that support Jakarta EE. Some libraries still don't support Jakarta EE or upgrading them may be too risky for you. On top of that, Jakarta EE 10 introduces yet additional breaking changes, possibly requiring more adjustments in your application.

To help you overcome these challenges, I'll share best practices that have worked for us and our clients. I'll introduce easy-to-use automation tools like Eclipse Transformer and OpenRewrite, and demonstrate their application on a real-world, non-trivial app. We'll also discuss handling third-party dependencies and fully embracing Jakarta EE 10 without sacrifices. After this session, you should be prepared to seamlessly upgrade to Jakarta EE 10, without any excuses.

Source code for demos: https://github.com/OmniFish-EE/Presentation-Upgrade-To-Jakarta-EE-10

OmniFish Presentations

April 27, 2024
Tweet

Transcript

  1. Ondro Mihályi @OmniFishEE How to Easily Upgrade to Jakarta EE

    10 Javax to Jakarta Prefix without a Hassle
  2. Ondro Mihályi @OmniFishEE Who am I? Java Champion Czech JUG

    lead (CZJUG) Jakarta EE specifications committer Director at OmniFish
  3. 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
  4. 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...
  5. Ondro Mihályi @OmniFishEE Upgrade dependencies • Supports jakarta.* → upgrade

    version • Provides javax.* and jakarta.* variant • “jakarta” classifier • different artifact name
  6. Ondro Mihályi @OmniFishEE Transform dependencies • Doesn't support jakarta.* (yet)

    → Transform JAR with Transformer → With all transient dependencies
  7. Ondro Mihályi @OmniFishEE Demo Repository with source code of demo

    projects: https://github.com/OmniFish-EE/Presentation- Upgrade-To-Jakarta-EE-10
  8. 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