Java requirements

There are separate run and job execution requirements for Jenkins installations.

Running Jenkins

Modern Jenkins versions have the following Java requirements:

  • Java 8 is the ONLY currently supported runtime environment, both 32-bit and 64-bit versions are supported

  • Older versions of Java are not supported

  • Java 9 and Java 10 are not supported

  • Java 11 preview support is available in Jenkins 2.155+

    • This page provides guidelines about running Jenkins with these versions

  • Java 12 is not supported

These requirements apply to all components of the Jenkins system including Jenkins master, all types of agents, CLI clients, and other components.

Jenkins project performs a full test flow with the following JDK/JREs:

  • OpenJDK JDK / JRE 8 - 64 bits

JRE/JDKs from other vendors are supported and may be used. See our Issue tracker for known Java compatibility issues.

Executing jobs on Jenkins

Jenkins jobs may be executed on Java versions different from the master/agent runtime. Generally, Jenkins allows ANY version of JRE/JDK to be invoked during the build. It includes:

  • Execution of Java commands from CLI

  • Installation and execution of build steps based on the plugin:jdk-tool plugin

In the case of particular plugins, there are still Java requirements:

  • If you use Maven Integration Plugin, version of JDK used for the build must be equal to the version used by Jenkins

  • If you use Swarm Plugin to create agents, JRE version must be equal to the version of the master

  • If you use Docker Pipeline Plugin with a bundled JRE/JDK to execute jobs, versions of such bundled Java must be equal to the version of the master

Monitoring Java versions

Modern versions of Jenkins master and agents verify Java requirements and notify users when they are launched with unsupported version.

In order to do fine-grain monitoring of Java versions on agents, you can use Jenkins Versions Node Monitors plugin to setup Java version monitoring across the Jenkins system.