Great news that the build succeeds, thanks!  My thoughts were based on this
statement in the CXF 3.3.0 Migration page:

"Major dependency changes: ... JAX-RS and JAXB APIs are now JakartaEE
dependencies. All other JakartaEE dependencies will follow with the next
major release. Old dependencies can still be used, but this requires
exclusions to avoid duplicate transitive dependencies (currently no
relocation is in place)."

Updating CXF to 3.3.0 means JAXB dependencies are brought in as 2.3.2
Jakarta release and also JAX-RS. 
 This means TomEE now has both JAXB 2.3.0 (it's own direct dependency) and
JAXB 2.3.2 from CXF 3.3.0.

Also, activation-1.1.jar (implementation) is removed from TomEE (it doesn't
add it's Jakarta replacement).  I see some dependencies on this file within
TomEE and also software that runs on TomEE.  If deciding to remove it from
TomEE, I'd ask that a major version's notice be given for people to have
time to add their own.

As part of the move to Jakarta, need to keep an eye out for new jakarta
dependencies causing duplicate API classes across multiple JARs in javax,
jakarta and javaee-api (e.g. jakarta/javax.activation-api,
jakarta/javax.inject, jakarta/javax.ws.rs-api, jakarta/javax.xml-soap-api). 
CXF 3.3.0 has made the move for only 2 specs.  More to follow.

So I have a PR ready to update the JAXB 2.3.0 direct dependency to 2.3.2,
add the newer jakarta-activation.jar to maintain backwards compatibility and
add numerous exclusions.

I'll pull this CXF 3.3.0 PR on top of mine and add exclusions for the
additional APIs it brings too.  Combined, these should help avoid an API jar
bloated TomEE! :)



--
Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Dev-f982480.html

Reply via email to