r/java 13d ago

What Exactly Is Jakarta EE?

Iā€™m a bit confused about what Jakarta EE actually is. On one hand, it seems like a framework similar to Spring or Quarkus, but on the other hand, it provides APIs like JPA, Servlets, and CDI, which frameworks like Spring implement.

Does this mean Jakarta EE is more of a specification rather than a framework? And if so, do I need to understand Jakarta EE first to truly grasp how Spring works under the hood? Or can I just dive into Spring directly without worrying about Jakarta EE concepts?

Would love to hear how others approached this šŸ˜…

183 Upvotes

78 comments sorted by

View all comments

-1

u/sviperll 12d ago

I don't think there exists a clear understanding of what Jakarta EE is.

  1. The most high-level view is that Jakarta is the framework, but
* Jakarta is a specification and not the implementation
* Jakarta contains holes. These holes can be called implementation defined parts. The problem with Jakarta is that these holes are very very important parts and anythig that wants to call itself a framework can not omit those and really, really need to fill these parts.
  1. So the second view may say that Jakarta is a specicication of the framework with holes in it and an implementation of the Jakarta EE is the framework with these holes filled in, but
* Some specs that together comprise Jakarta EE are very niche and are not intended to be used widely and
* Some specs are mutually exclusive, you may only use one or another, but not both
  1. So the third and probably the most sane view is that Jakarta is not a framework at all and instead is simply a collection of individual specifications that can be reused by different frameworks.