As of the Jenkins support policy page, supported Java versions are 21 and 25. Java 17 is unsupported, with 2.541.3 as its final LTS release. An unsupported Java version stops the controller from running, so plan the move before you upgrade Jenkins itself.
The support table
| Java | First LTS | Planned end of support |
|---|---|---|
| 25 | 2.541.1 (January 2026) | September 2029 |
| 21 | 2.479.1 (October 2024) | September 2027 |
Versions already dropped:
| Java | Final LTS | Final weekly |
|---|---|---|
| 17 | 2.541.3 (March 2026) | 2.544 (December 2025) |
| 11 | 2.462.3 (October 2024) | 2.462 (June 2024) |
| 8 | 2.346.3 (August 2022) | 2.356 (June 2022) |
The page says the project tests with OpenJDK 21 and 25, and actively tests HotSpot based JVMs such as Eclipse Temurin and Amazon Corretto. It does not test Eclipse OpenJ9.
What the requirement covers
It applies to all Jenkins components: the controller, agents and CLI clients. The build JDK your jobs compile with is separate from the runtime Java, with exceptions for some plugins, for example the Maven Integration plugin.
Why this is a security matter
A controller stuck on an old Java line is also stuck on an old Jenkins line, because newer releases will not start. That means it cannot take fixes from later advisories. Legacy CI often drifts exactly this way: nobody wants to touch it, and the gap grows.
A migration order that works
- Check your current Jenkins and Java versions on Manage Jenkins, then System Information.
- Read the Jenkins upgrade guide for each LTS line between where you are and where you are going.
- Stand up a copy of the controller on a supported Java version and a recent LTS.
- Test plugins and a sample of pipelines there.
- Update agents too, since they need a supported Java as well.
- Cut over, and keep the old controller read only for a short window.
The project publishes dedicated upgrade guides for Java 17 to 21 and Java 21 to 25.
Try it yourself
Use the demo to see how continuous monitoring flags components that age out of support.
Click through it at your own pace, or open it full screen.
Where Safeguard fits
Safeguard does asset discovery and dependency scanning, which helps find build tooling you forgot you owned. Start with the free scan.
Quick check
Can I run Jenkins on Java 17 right now?
Not on current releases. Java 17 is listed as unsupported, with 2.541.3 as its final LTS. Moving to 21 or 25 is the path.
Do my agents need the same Java version?
They need a supported Java version too. The requirement covers controllers, agents and CLI clients.
Sources
Last reviewed: 19 October 2026.