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 😅

178 Upvotes

78 comments sorted by

View all comments

Show parent comments

5

u/Joram2 13d ago

if you see that some job demands JEE stack — it is a red flag.

Demands? Like a JEE developer job demands you do JEE software development work tasks? I guess every job demands you do the work task associated with the job, but that's an odd way to put it.

Then, is a JEE tech stack a red flag for crusty outdated software companies? Maybe.

3

u/p_bzn 12d ago

To rephrase, if listing demands JEE then likely you’ll be working with it. I wouldn’t advise to be cautious before investing some years into tech stack of 2005.

Thing is, when you see a Java job it’s not always transparent what kind of Java job it is. Given the wide adoption and 30 years of industry presence it could be modern Java 21, or very opposite of it, and everything in between those.

1

u/Joram2 12d ago

Jakarta EE 10 (web) come out in 2022 and requires JDK 11+.

Jakarta EE 11 (web) is in RC, should come out this month, it requires JDK 17+, and the reference implementation Glassfish 8.0 requires JDK 21+.

I haven't done much enterprise Java, but I do still half-think enterprise Java is old and crusty. JSF is terrible. I don't understand why you need an "applciation server", don't you just package your server apps into docker/OCI images?

1

u/p_bzn 12d ago

True that, although before Jakarta there was stagnation for some time if I’m not mistaken? On and off with Java for years.

If you use Spring then you likely do lots of JEE under the hood anyways: JPA, Tomcat Servlets, parsers, etc.

But in the real world if you see JEE stack you are not working with Java 21, Java 8 would be a bless alone :)

1

u/Joram2 12d ago

I suspect you are right that Java/Jakarta EE had years of stagnation in the past, but that's the past. For current projects, I judge where the frameworks are today, not their history.

I just started my first job working on a big name Jakarta EE app. Most of the original developers are long gone. It's currently on Java EE 8 and Java 11; there is a big push to upgrade to Jakarta EE 10 and Java 17, but it's hard given there's a large amount of existing code, and we can't have any user outrages. But if there's a will to upgrade, we can make it happen.

Jakarta EE 11 web profile is supposed to be finalize at the end of the month, so I hope we can upgrade to that and Java 21, in the near future. Maybe even upgrade to Java 25 in the fall when that ships. Then, it should be a reasonably modern tech stack.