What Is Jakarta EE? A Beginner's Guide (Formerly Java EE)

Jakarta EE is a set of official standards for building large, enterprise Java applications. It used to be called Java EE. Rather than being a single framework, it's a collection of specifications that many different products implement. This guide explains what Jakarta EE is, why the name changed, and the core pieces you'll meet — in plain English. It's a foundational part of the Java web framework world.

What is Jakarta EE?

Here's the key idea that trips up beginners: Jakarta EE is not a framework you download and run. It's a set of specifications — written agreements about how certain features should behave. Different vendors then build products that follow those agreements.

Think of it like a wall-socket standard. The standard defines the shape and voltage; many companies make sockets and plugs that follow it. Because everyone agrees on the standard, your devices work anywhere. Jakarta EE does the same for enterprise Java: write to the standard, and your app can run on any compatible server.

Why did Java EE become Jakarta EE?

Enterprise Java was originally run by Sun, then Oracle, under the name Java EE. In 2017 Oracle handed it to the open-source Eclipse Foundation. Because Oracle kept the "Java" trademark, the platform was renamed Jakarta EE.

The one change that bites people: package names switched from javax.* to jakarta.* in Jakarta EE 9. So old javax.servlet imports became jakarta.servlet. If you ever migrate an old app, this is the main thing to update.

The core specifications to know

You don't need them all at once. These are the ones that come up most:

SpecificationWhat it's for
Jakarta REST (JAX-RS)Building REST APIs with annotations.
CDIDependency injection — wiring objects together.
Jakarta Persistence (JPA)Saving and loading objects from a database.
Jakarta ServletThe low-level foundation for handling web requests.
Jakarta Faces (JSF)Component-based web user interfaces.

A taste of Jakarta EE code

Here's a REST endpoint using Jakarta REST (JAX-RS). Notice the jakarta.* imports:

import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;

@Path("/hello")
public class HelloResource {

    @GET
    public String hello() {
        return "Hello from Jakarta EE!";
    }
}

If this looks similar to Quarkus code, that's because Quarkus implements these same Jakarta standards. Learning the standards pays off across many frameworks.

When does Jakarta EE matter to you?

You'll care about Jakarta EE if you work on enterprise systems, run apps on application servers like WildFly, Payara, or Open Liberty, or use cloud-native frameworks (Quarkus, Helidon) that build on its specs. Even if you mostly use Spring Boot, understanding the standards helps you read and reason about a huge amount of Java code.

Quick recap

  • Jakarta EE is a set of standards for enterprise Java, not a single framework.
  • It's the renamed successor to Java EE, now run by the Eclipse Foundation.
  • Packages moved from javax.* to jakarta.* in Jakarta EE 9.
  • Core specs include JAX-RS, CDI, and JPA — and modern frameworks build on them.

Frequently Asked Questions

What is Jakarta EE?

Jakarta EE is a set of standards (specifications) for building enterprise Java applications — things like web services, dependency injection, and database access. It is the successor to Java EE, now maintained by the Eclipse Foundation. Multiple vendors implement these standards, so your code isn't locked to one product.

What is the difference between Java EE and Jakarta EE?

They are the same platform under a new name. When Oracle handed enterprise Java to the Eclipse Foundation, it was renamed from Java EE to Jakarta EE. The main practical change is the package prefix: javax.* became jakarta.* starting with Jakarta EE 9.

Is Jakarta EE the same as Spring?

No. Jakarta EE is a set of vendor-neutral standards, while Spring is a specific framework. They overlap and influence each other — Spring implements many of the same ideas — but Jakarta EE is a specification you can implement with different application servers, whereas Spring is one concrete ecosystem.

What are the main Jakarta EE specifications?

Key specs include Jakarta REST (JAX-RS) for REST APIs, CDI for dependency injection, Jakarta Persistence (JPA) for database access, Jakarta Servlet for low-level web handling, and Jakarta Faces (JSF) for component-based UIs. Frameworks like Quarkus build on several of these.

Is Jakarta EE still used in 2026?

Yes. Jakarta EE powers a huge amount of existing enterprise software, and its specifications underpin modern frameworks. Cloud-native frameworks like Quarkus and Helidon implement many Jakarta EE standards, so the platform remains very relevant.