Comparison
Main differences between versions
Apache TomEE is an open source software implementation of the Jakarta EE (formally Java EE) technologies.
Different versions of Apache TomEE are available for different versions of the specifications.
The mapping between the specifications and the respective Apache TomEE versions is:
TomEE version | Based on Tomcat | Java SE version | Micro Profile version | Jakarta EE version | Full list of specifications versions and implementations choices |
---|---|---|---|---|---|
9.x |
10.0.x |
11 |
5.0 |
9.1 |
|
8.x |
9.0.x |
8 |
2.0 |
8.0 |
|
7.1.x |
8.5.x |
7 or 8 |
1.4 |
7.0 |
|
7.0.x |
8.5.x |
7 or 8 |
7.0 |
Jakarta EE 9.x introduces breaking changes (relocation from javax.* to jakarta.* namespace).
When in doubt choose Jakarta EE 8 and TomEE 8.x
Tomcat supports only a subset of Jakarta EE while TomEE is fully compliant (see tables below).
Synthesis of differences between flavors
Apache TomEE has four distributions, each supporting a slightly different set of technologies and aimed to give you a choice in what you want included out-of-the-box. When in doubt, choose Apache TomEE Plume.
Tomcat | TomEE WebProfile | TomEE MicroProfile | TomEE Plus | TomEE Plume | |
---|---|---|---|---|---|
HTTP Request processing and Response: |
|||||
Data Persistence (ORM), Web Services and more: |
|||||
Microservices architecture: |
|||||
Other features: |
|||||
Jakarta Faces (JSF) implementation |
MyFaces |
MyFaces |
MyFaces |
Mojarra |
|
Jakarta Persistence (JPA) implementation(s) |
OpenJPA |
OpenJPA |
OpenJPA |
OpenJPA, EclipseLink |
-
Please note that Tomcat does not ship with the jars for Standard Tag Library (JSTL) nor the security.enterprise.* packages.
Detailed list of Jakarta EE and MicroProfile specifications
Tomcat | TomEE WebProfile | TomEE MicroProfile | TomEE Plus | TomEE Plume | |
---|---|---|---|---|---|
Jakarta Authentication (JASPIC) |
|||||
Jakarta Server Pages (JSP) |
|||||
Jakarta Dependency Injection (@Inject) |
|||||
Jakarta Enterprise Beans (EJB) |
|||||
Jakarta Faces (JSF) |
|||||
Jakarta JSON Binding (JSON-B) |
|||||
Jakarta JSON Processing (JSON-P) |
|||||
Jakarta Mail (JavaMail) |
|||||
Jakarta Persistence (JPA) |
|||||
Jakarta RESTful Web Services (JAX-RS) |
|||||
Jakarta Security (Enterprise Security) * |
|||||
Jakarta Standard Tag Library (JSTL) * |
|||||
Jakarta Transactions (JTA) |
|||||
Jakarta XML Binding (JAXB) |
|||||
MicroProfile Config |
|||||
MicroProfile Fault Tolerance |
|||||
MicroProfile Health |
|||||
MicroProfile JWT Authentication |
|||||
MicroProfile Metrics |
|||||
MicroProfile OpenAPI |
|||||
MicroProfile OpenTracing |
|||||
MicroProfile Rest Client |
|||||
Jakarta Authorization (JACC) |
|||||
Jakarta Batch (JBatch) |
|||||
Jakarta Messaging (JMS) |
|||||
Jakarta XML Web Services (JAX-WS) |
|||||
Jakarta Faces (JSF) implementation |
MyFaces |
MyFaces |
MyFaces |
Mojarra |
|
Jakarta Persistence (JPA) implementation(s) |
OpenJPA |
OpenJPA |
OpenJPA |
OpenJPA, EclipseLink |
-
Please note that Tomcat does not ship with the jars for Standard Tag Library (JSTL) nor the security.enterprise.* packages.
Implementations of Jakarta EE and MicroProfile features in TomEE
Specifications | Implementations included by TomEE |
---|---|
Jakarta Servlet, Server Pages (JSP), Expression Language (EL), |
|
Jakarta Standard Tag Library (JSTL) |
|
Jakarta Faces (JSF) |
Apache MyFaces (shipped in all TomEE flavors except Plume) |
Jakarta Contexts and Dependency Injection (CDI) |
|
Jakarta Enterprise Beans (EJB) |
|
Jakarta Transactions (JTA) |
Apache Geronimo Transaction Manager |
Jakarta Persistence (JPA) |
Apache OpenJPA (shipped in all TomEE flavors) |
Jakarta Bean Validation |
|
Web Services |
|
Jakarta JSON Binding (JSON-B), |
|
Jakarta XML Binding (JAXB) |
|
Jakarta Mail (JavaMail) |
Apache Geronimo JavaMail |
MicroProfile |
Apache Geronimo MicroProfile (ok only with TomEE 7.1.x and 8.x) |
Jakarta Batch (JBatch) |
|
Jakarta Messaging (JMS) |
In bold : Implementations that differ between flavors or between versions
Compatibility with other implementations
Specifications | Implementations alternatives |
---|---|
Jakarta Persistence (JPA) |
|
Jakarta MVC |
Eclipse Krazo (ok with TomEE 8.x and later) |
Other containers (CDI, EJB, JTA, etc.) and frameworks |
-
Please note that TomEE does not ship with the jars for Hibernate, Jersey, Krazo, Spring.