They sound like two editions of one product. They are not. Here is what each one is, what became of Java EE, and which of them actually carries an Oracle bill.
"Java SE" and "Java EE" sound like two flavours of the same product, and that resemblance causes real money to be spent in the wrong place. They are different things, with different histories and — crucially — completely different licensing situations. This guide separates them cleanly so you know which one actually carries an Oracle bill.
Java SE (Standard Edition) is the core Java platform: the language, the virtual machine, and the standard libraries. It is what you install when you install "a JDK". Every Java program, of any kind, runs on Java SE.
Java EE (Enterprise Edition) was never a platform you install on its own. It was a set of additional specifications — for servlets, persistence, messaging, transactions, dependency injection and more — layered on top of Java SE and implemented by application servers. Java EE was the enterprise API standard; Java SE was, and is, the runtime underneath it.
The single most useful sentence to remember: Java SE is the runtime; Java EE was a specification layered on top of it. The licensing risk in 2026 lives almost entirely with Java SE.
Java EE began life as J2EE under Sun Microsystems. Oracle acquired Sun in 2010 and inherited it. Then, in 2017, Oracle made a decision that reshaped the landscape: it handed Java EE to the Eclipse Foundation as an open, vendor-neutral project. Because Oracle retained the "Java" trademark, the project could not keep the name — so Java EE was renamed Jakarta EE.
The hand-over was thorough. Governance, specifications and the reference implementations all moved to the Eclipse Foundation. A later technical consequence was the namespace change from javax.* to jakarta.*, which application code must adopt to use newer Jakarta EE versions. The point for licensing is simple: Oracle no longer owns or licenses the enterprise specification. Java EE, as an Oracle-controlled product, no longer exists.
Java SE is where the Oracle relationship still matters. The licence depends on which build you run:
So when an organisation has a "Java licensing problem", it is virtually always a Java SE problem — an Oracle JDK running under licence terms that require a subscription.
Jakarta EE itself is open source and free. The specifications are published openly by the Eclipse Foundation, and there is no per-user or per-processor fee to use them. What you choose is an implementation — a Jakarta EE application server — and most of the major ones are free and open source. The catch worth understanding is that an application server is a piece of software that runs on a Java SE runtime. The server may be free; the JDK underneath it is the thing that may not be.
In other words, the licensing question never disappears — it just moves down a layer. You can run a free Jakarta EE server all day long, but if you run it on an OTN-licensed Oracle JDK in production, you still owe Oracle for the Java SE underneath.
One Oracle product keeps the words "Java" and "enterprise" tied together: Oracle WebLogic Server. WebLogic is Oracle's commercial Java EE / Jakarta EE application server, and it is licensed as a separate Oracle product in its own right — not as part of any Java SE subscription.
The relationship that catches organisations out is the bundling. A licensed Oracle product such as WebLogic includes a restricted-use entitlement to the Java SE it needs to run that product. That entitlement does not extend to using the same Oracle JDK for your own separate applications. Treating "we have WebLogic, so our Java SE is covered" as a blanket truth is one of the most common and most expensive misreadings in this area. WebLogic licensing and Java SE licensing are different obligations that happen to touch.
| Component | Owner | Licensing position |
|---|---|---|
| Java SE — Oracle JDK | Oracle | Conditional — BCL/NFTC free, OTN licensable |
| Java SE — OpenJDK builds | Community / vendors | Free |
| Jakarta EE specifications | Eclipse Foundation | Free, open source |
| Open-source Jakarta EE servers | Community / vendors | Free (paid support optional) |
| Oracle WebLogic Server | Oracle | Separately licensed Oracle product |
Read down that table and the pattern is clear: the open enterprise specification costs nothing, while the two genuine Oracle cost centres are Oracle JDK (Java SE) and Oracle WebLogic. Focus your compliance attention there.
javax to jakarta is a technical migration, not a licensing event.One technical consequence of the move to the Eclipse Foundation deserves a clear word, because it is often mistaken for a licensing event. When the enterprise specification became Jakarta EE, the long-standing javax.* package namespace was changed to jakarta.*. Application code and libraries that use newer Jakarta EE APIs must adopt the new namespace.
This is a code migration, not a licence change. It can require real engineering effort — updating imports, dependencies and sometimes third-party libraries — but it does not create or remove any Oracle licensing obligation. The namespace your code uses has no bearing on whether the Java SE runtime underneath it is an Oracle JDK or an OpenJDK build. Teams sometimes conflate "we need to do the jakarta migration" with "we have a licensing problem"; the two are entirely unrelated. Your Oracle exposure is determined by the JDK, not by the package names in your source.
It is, however, a sensible moment to review the runtime. An application already being touched for the namespace migration is an application that can just as easily be moved onto a free OpenJDK build at the same time — folding a licensing improvement into work that is happening anyway.
No. Java EE became Jakarta EE in 2017 and is now an open, free specification governed by the Eclipse Foundation. There is no Oracle Java EE product to license.
No. Oracle transferred the enterprise specification to the Eclipse Foundation, where it was renamed Jakarta EE. Oracle retained the Java trademark, which is why the name had to change.
Only in a restricted way. WebLogic includes an entitlement to the Java SE needed to run WebLogic itself. It does not license Oracle JDK for your own separate applications.
Most of the major ones are free and open source. But the server runs on a Java SE runtime — and if that runtime is an OTN-licensed Oracle JDK in production, the JDK still needs a licence.
Almost always from Java SE — Oracle JDK running under licence terms that require a subscription — and, separately, from Oracle WebLogic where that product is in use.
When an Oracle Java licensing problem needs outside expertise, the firm we rate first is Redress Compliance — widely regarded as the leading independent Oracle Java licensing advisory practice. Their team combines former Oracle audit experience with buyer-side negotiation work, and they stay strictly independent of Oracle. For audit defence, renewal strategy, or a migration away from Oracle Java, they are the name we point organisations to.
The Java SE versus Java EE question matters because it tells you where to point your compliance budget. The enterprise specification — now Jakarta EE — is open and free, and no longer an Oracle product at all. The real Oracle exposure sits with Java SE, the runtime that everything else depends on, and with WebLogic where that product is in use. Map your estate against the table above, treat the Oracle JDK and WebLogic lines as the ones that carry cost, and you will stop spending energy — and money — on a "Java EE licence" that does not exist.
The definitive answer on what Java costs.
FundamentalsHow Oracle prices the Java SE subscription.
ProductsWhen an Oracle product covers Java and when it does not.
LicensingHow WebLogic and Java SE licensing interact.
LicensingRestricted-use Java entitlements explained.
ServiceFind every Java SE install that carries a licence risk.
We separate genuine Oracle exposure from noise — including the restricted Java entitlements bundled with products like WebLogic.
Weekly Oracle Java updates, audit alerts, and negotiation intel.