Java End-of-Life Dates by Vendor: Why "When Does Java 17 Die?" Has Eight Different Answers
There is no such thing as "the" Java end-of-life date. Java is one specification shipped by many vendors, and each vendor retires each version on its own calendar. Java 17 — still one of the most-deployed versions in production — is the perfect specimen: Oracle's free OpenJDK builds abandoned it back in 2022, Oracle JDK's paid Premier Support ends September 30, 2026, Eclipse Temurin carries it free to October 2027, and Amazon Corretto to October 2029. Same Java, seven-year spread — and which date applies to you depends entirely on whose binaries your servers actually run.
java -version names the vendor), look up that vendor's date in the tables below — and if the answer is "Oracle JDK 17," you have a decision to make before September 30.Java 17 LTS — support end dates by vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2026 | Sep 30, 2029 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 22, 2022 | — | Ended |
| Eclipse Temurin Free | Oct 31, 2027 | — | Active |
| Amazon Corretto Free | Oct 31, 2029 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2029 | Sep 30, 2031 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2027 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2027 | — | Active |
| IBM Semeru Free | Oct 31, 2027 | — | Active |
The September 30 decision, spelled out: Oracle JDK 17 leaves Premier Support in two months. The three exits: pay — Oracle Extended Support runs to September 2029 (at a rising surcharge); switch — recompile-free swaps to Temurin (free to Oct 2027) or Corretto (free to Oct 2029) are routine, since all ship the same OpenJDK core; or upgrade — Java 21 or 25 resets the clock entirely. Running Oracle 17 past September without an Extended contract also has a licensing dimension — see our Oracle Java licensing guide.
Java 8 — the version that will not die
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Mar 31, 2022 | Dec 31, 2030 | Active |
| Oracle OpenJDK builds | Does not offer Java 8 | ||
| Eclipse Temurin Free | Dec 31, 2030 | — | Active |
| Amazon Corretto Free | Dec 31, 2030 | — | Active |
| Azul Zulu Free base / paid extended | Dec 31, 2030 | Dec 31, 2032 | Active |
| Red Hat OpenJDK With RHEL subscription | Nov 30, 2026 | — | Active |
| Microsoft OpenJDK | Does not offer Java 8 | ||
| IBM Semeru Free | Dec 31, 2030 | — | Active |
Java 8 turned twelve this year and will be commercially supported into the 2030s — Oracle Extended to December 2030, Azul's extended tier to 2032. The date that matters soonest is Red Hat's: OpenJDK 8 support inside RHEL ends November 30, 2026 — four months out. Every RHEL estate still compiling against Red Hat's Java 8 packages needs a vendor switch or an upgrade path before December.
Java 11 LTS — support end dates by vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2023 | Jan 31, 2032 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 19, 2019 | — | Ended |
| Eclipse Temurin Free | Oct 31, 2027 | — | Active |
| Amazon Corretto Free | Jan 31, 2032 | — | Active |
| Azul Zulu Free base / paid extended | Jan 31, 2032 | Jan 31, 2034 | Active |
| Red Hat OpenJDK With RHEL subscription | Oct 31, 2024 | — | Ended |
| Microsoft OpenJDK Free | Sep 30, 2027 | — | Active |
| IBM Semeru Free | Oct 31, 2027 | — | Active |
Note the trap pattern: Red Hat already retired its Java 11 build (October 2024) while Temurin and IBM run to late 2027 and Corretto/Zulu into 2032 — so "Java 11 is EOL" and "Java 11 is supported for six more years" are both true statements, about different binaries.
Java 21 LTS — support end dates by vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2028 | Sep 30, 2031 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 19, 2024 | — | Ended |
| Eclipse Temurin Free | Dec 31, 2029 | — | Active |
| Amazon Corretto Free | Oct 31, 2030 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2031 | Sep 30, 2033 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2029 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2028 | — | Active |
| IBM Semeru Free | Dec 31, 2029 | — | Active |
Java 25 LTS — support end dates by vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2030 | Sep 30, 2033 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 17, 2026 | — | Ended |
| Eclipse Temurin Free | Sep 30, 2031 | — | Active |
| Amazon Corretto Free | Oct 31, 2032 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2033 | Sep 30, 2035 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2030 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2030 | — | Active |
| IBM Semeru Free | Sep 30, 2030 | — | Active |
Even the newest LTS illustrates the rule: Oracle's free OpenJDK 25 builds end in March 2026 — six months after release, by design — while the same bits ship free from Temurin to 2031 and Corretto to 2032.
Why the fragmentation exists
Upstream OpenJDK only maintains each version for six months — until the next release. Everything beyond that is a vendor choosing to backport security fixes: Oracle sells the service (Premier → Extended tiers), Red Hat bundles it with RHEL, and Adoptium (Temurin), Amazon, Microsoft, Azul and IBM give their builds away on their own schedules, each ending support when it stops serving their business. The specification is shared; the lifecycle is not. Treat "Java EOL" claims that don't name a vendor as unanswerable — and treat vendor switches as cheap, because they usually are: these are all builds of the same OpenJDK source, and swapping binaries rarely requires code changes.
The compound problem: frameworks pin JDKs
JDK end-of-life rarely travels alone. Spring Boot 2.x estates sit on Java 8/11; older Tomcat, Hibernate and Struts lines pin similar vintages — so a dead framework and a dying JDK usually arrive as a pair, and the framework is typically the harder migration. If that pairing describes your estate, the framework side has its own extended-support market: see Spring Boot, Tomcat, Hibernate and Struts lifecycles, or compare extended-support options →
The checklist
- Inventory by vendor, not version:
java -versionacross the fleet — "17" is half an answer; "Temurin 17" vs "Oracle 17" changes the deadline by years and the cost by thousands. - Oracle JDK 17 estates: decide pay / switch / upgrade before September 30.
- RHEL Java 8 estates: plan for November 30.
- Check the framework layer — it's usually the binding constraint. Our Stack Scanner flags both layers from a pasted inventory.
Frequently Asked Questions
When does Java 17 reach end of life?
It depends entirely on whose build you run. Oracle's free OpenJDK 17 builds ended in 2022; Oracle JDK Premier Support ends September 30, 2026 (Extended to 2029); Microsoft OpenJDK ends September 2027; Eclipse Temurin and IBM Semeru run to October 2027; Red Hat to December 2027; Azul Zulu to September 2029 (extended 2031); Amazon Corretto to October 2029. There is no single Java 17 EOL date.
Is Java 8 still supported in 2026?
Yes — by some vendors, into the 2030s. Oracle Extended Support runs to December 2030, and Temurin, Corretto, IBM and Azul all maintain free Java 8 builds to 2030 or beyond. The nearest cliff is Red Hat's: OpenJDK 8 in RHEL ends November 30, 2026.
What happens when Oracle JDK 17 Premier Support ends on September 30, 2026?
Security patches for Oracle JDK 17 then require Extended Support (available to September 2029, at a growing surcharge). The alternatives are switching to another vendor's free build of Java 17 — Temurin or Corretto are drop-in replacements built from the same OpenJDK source — or upgrading to Java 21 or 25.
Can I switch JDK vendors without changing code?
Usually yes. Oracle JDK, Temurin, Corretto, Zulu, Red Hat, Microsoft and IBM builds all derive from the same OpenJDK source and pass the same compatibility tests; swapping is typically a binary replacement plus a regression run. The main exceptions are applications that depend on Oracle-only commercial features or specific garbage-collector tuning.
Which Java version is the safest long-term choice in 2026?
Java 21 or Java 25, both LTS. Java 25 carries the longest runway (free vendor support to 2031-2032; Oracle Extended to 2033). The vendor choice matters as much as the version: Corretto and Zulu currently publish the longest free support windows.
Why do different websites give different Java EOL dates?
Because most quote one vendor's calendar without saying so. Upstream OpenJDK maintains each release for only six months; every longer timeline is a specific vendor's backporting commitment, and those commitments differ by years. Any Java EOL claim that doesn't name the vendor is incomplete.