Moqui 4.0 - Java EE to Jakarta EE

Since Oracle gave java ee to the eclipse foundation, they renamed java ee to jakarta ee and have a whole new package structure.

First we need to check to see which dependencies we depend use java ee, and which will support jakarta ee. If there are libraries that we depend on that don’t support jakarta ee, then we might be able to use eclipse’s transformer or openrewrite (see links below) at compile time to handle libraries that don’t support it.

If our dependencies support jakarta ee, then we’ll need to migrate our javax.* and any other java ee dependencies in our source to jakarta.* (see the java and groovy code). There are some potentially useful tools that would help in this process like:

Note that bitronix uses javax Code search results · GitHub. Looks like another project had the same issue: Transition from Jakarta EE 8 to Jakarta EE 9 · Issue #26041 · apache/shardingsphere · GitHub. There was a fork of bitronix that got jakarta ee working: GitHub - laingke/btm: JTA Transaction Manager. This will need to be looked at further.

If @f.karim @kieuanhvu @rahulnama @shahbaz @zhangwei can volunteer for figuring out what dependencies will / won’t support jakarta ee out of the box, that would be great!