Amazon Corretto keeps Java 8 patched until December 2030 and Java 11 until January 2032, so the deadline is not the JDK. It is everything around it: Spring Boot 2, javax packages, old Lambda runtimes and the libraries that stopped supporting Java 8 years ago. What the upgrade involves and the order we do it in.
From the Amazon Corretto FAQ. Corretto is free, with quarterly updates.
So a Java 8 application can stay patched for years. The reason to move is the ecosystem: frameworks and libraries have dropped Java 8 and 11, which means no security fixes in the libraries even while the JDK is patched. Spring Boot 3 requires Java 17, and most new library releases target 17 or 21.
Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
From 8: removed APIs and modules (JAXB, JAX-WS and others left the JDK in 11) need explicit dependencies; reflective access to internals breaks under strong encapsulation.
Spring Boot 2 to 3: javax.* to jakarta.* across the codebase, Spring Security configuration changes, and Hibernate 6.
Build tooling: Maven and Gradle plugins and bytecode tools must support the target version.
Runtime: Lambda's Java runtimes on Amazon Linux 2 reach deprecation in June 2027; move functions to the java21 runtime or newer, on Amazon Linux 2023. Container base images move to a current Corretto.
Virtual threads (Java 21), which let blocking-style code handle far more concurrent requests, often removing the need for reactive rewrites.
Better garbage collectors and startup, including Lambda SnapStart for faster cold starts.
Graviton: current JDKs perform well on Arm, which is usually cheaper per request.
Get the build running on the target JDK while still compiling for the old version, and fix the tooling first.
Upgrade frameworks (Spring Boot 3, Hibernate 6) in a branch, using automated refactoring such as OpenRewrite recipes for javax to jakarta.
Raise the compile target and run the full test suite and a load test.
Move the runtime: container image, Lambda runtime, or EC2 AMI.
Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.
Book a free 30-minute call about it. Bring your setup and your bill; you'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
Or keep reading
Inventory a Legacy Estate in a Week: What to Collect, the Tools to Use, and What to Ignore
Every modernization plan starts with the same question: what do we actually run? A one-week method for servers, databases, applications and the scheduled jobs and integrations nobody listed, using tools that are current in 2026 (Application Discovery Service and Migration Hub are now in maintenance).
Read
Elastic Beanstalk Retired Every Amazon Linux 2 Platform in August 2026: AL2023 or ECS?
On August 6, 2026 Elastic Beanstalk retired all remaining Amazon Linux 2 platform branches (Docker, Go, Corretto 8, 11 and 17, Tomcat 9, .NET Core), following AL2's end of life. Node.js 20, Python 3.9 and Ruby 3.2 on AL2023 went a week later. How to move to an AL2023 branch with a blue/green swap, and when to leave Beanstalk for ECS.
Read
As of October 25, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.