Java 9 deprecated six modules that contain Java EE APIs and they are going to be removed soon:
- java.activation with
javax.activation
package - java.corba with
javax.activity
,javax.rmi
,javax.rmi.CORBA
, andorg.omg.*
packages - java.transaction with
javax.transaction
package - java.xml.bind with all
javax.xml.bind.*
packages - java.xml.ws with
javax.jws
,javax.jws.soap
,javax.xml.soap
, and alljavax.xml.ws.*
packages - java.xml.ws.annotation with
javax.annotation
package
Which maintained third-party artifacts provide those APIs? It doesn't matter how well they provide those APIs or which other features they have to offer – all that matters is, are they a drop-in replacement for these modules/packages?
To make it easier to collect knoweldge, I answered with what I know so far and made the answer a community wiki. I hope people will extend it instead of writing their own answers.
Before you vote to close:
- Yes, there are already some questions on individual modules and an answer to this question would of course duplicate that information. But AFAIK there is no single point to learn about all of these, which I think has a lot of value.
- Questions asking for library recommendations are usually considered off-topic, because "they tend to attract opinionated answers and spam", but I don't think that applies here. The set of valid libraries is clearly delineated: They have to implement a specific standard. Beyond that nothing else matters, so I don't see much risk for opinion and spam.
Best Solution
Instead of using the deprecated Java EE modules, use the following artifacts.
JAF (java.activation)
JavaBeans Activation Framework (now Jakarta Activation) is a standalone technology (available on Maven Central):
(Source)
CORBA (java.corba)
From JEP 320:
JTA (java.transaction)
Stand alone version:
(Source)
JAXB (java.xml.bind)
Since Java EE was rebranded to Jakarta EE, JAXB is now provided by new artifacts:
JAXB Reference Implementation page.
The alternative runtime was brought up by Abhijit Sarkar.
schemagen
andxjc
can be downloaded from there too as part of a standalone JAXB distribution.See also linked answer.
JAX-WS (java.xml.ws)
Reference implementation:
Standalone distribution download (contains
wsgen
andwsimport
).Common Annotations (java.xml.ws.annotation)
Java Commons Annotations (available on Maven Central):
(Source)