In our software, we have transitive dependencies on code from Java’s Enterprise Edition (JavaEE). The code is typically in javax.*
packages. The owner of Java, Oracle, opensourced the JavaEE specification and has donated it to the Eclipse foundation. This however came with one very impacting condition: that the trademarked Java name is no longer used in the specifications. The specification rename to JakartaEE was pretty easy. Renaming all the packages to jakarta.*
was not. This means that all code depending on JakartaEE has to be updated to use the new packages. Although some libraries manage to handle both javax.*
and jakarta.*
packages at the same time, you really only want to have only one of them. That also means that all libraries that you use have to be updated to use jakarta.*
packages before you can successfully update your own code. Here is how we did it:
Upgrading from JavaEE to JakartaEE using OpenRewrite
Posted by Joep Weijers on April 26, 2023