jakarta.ejb module has a requires transitive on jakarta.transaction-api, which in turn has requires transitive on jakarta.cdi and java.transaction.xa. These 2 modules are not found by javac.
Changing requires transitive to requires in ejb does not help and it still fails with the same errors. But if I instead remove transitive from jakarta.transaction-api module, I was able to build ejb with the modified transaction-api. This is just an experiment and may not be the solution.
ejb-api only references the TransactionManager class from transaction-api, but the above chain of requires imposes some extra dependencies on ejb-api, and maybe some other consumer projects. So this may be something to consider for transaction-api project.
jakarta.transaction-api 2.0.1 is the version included in Jakarta EE 10:
diff between 2.0.0 and 2.0.1: https://github.com/jakartaee/transactions/compare/2.0.0...2.0.1 tag: https://github.com/jakartaee/transactions/releases/tag/2.0.1
But after bumping to jakarta.transaction-api 2.0.1, ejb-api fails to build:
jakarta.ejb module has a
requires transitive
onjakarta.transaction-api
, which in turn hasrequires transitive
onjakarta.cdi
andjava.transaction.xa
. These 2 modules are not found by javac.Changing
requires transitive
torequires
in ejb does not help and it still fails with the same errors. But if I instead removetransitive
fromjakarta.transaction-api
module, I was able to build ejb with the modified transaction-api. This is just an experiment and may not be the solution.ejb-api only references the
TransactionManager
class from transaction-api, but the above chain of requires imposes some extra dependencies on ejb-api, and maybe some other consumer projects. So this may be something to consider for transaction-api project.