Running Jenkins on Java 11

If you are upgrading the Jenkins JVM version from Java 8 to Java 11, please follow these guidelines.

Jenkins cores more recent than 2.164+[1] do not require a JVM upgrade.

For simplicity, this document describes how to run the most recent version of Jenkins on Java 11.

Production deployments should use only LTS versions of Jenkins.

Running Jenkins with Docker

The easiest way to run Jenkins on Java 11 is with a Docker image. These images are based on the official openjdk:11-jdk image maintained by the Docker Community.

To use the latest weekly release of the Java 11-based images, use the jdk11 tag. For other releases, append the -jdk11 tag to the version (for exanple,2.164-jdk11).

For example, this command starts Jenkins on Java 11 using the latest weekly release:

docker pull jenkins/jenkins:jdk11
docker run --rm -ti \
  -p 8080:8080 -p 50000:50000
  -v jenkins-home:/var/jenkins_home \

Running Jenkins with Java

As with Java 8, you can start Jenkins using the java command:

java -jar jenkins.war

Discovering issues with Java 11

Between June 2018 and February 2019, the community performed many exploratory tests to discover as many Java 11 issues as possible.

As a result, the community solved a lot of problems before announcing Java 11 support in Jenkins. However, it’s still possible that some plugins haven’t been updated to support Java 11.

Compatibility issues are being tracked by the Known Java 11 Compatibility Issues Wiki page.

If you discover a Java 11 incompatibility, please report the issues in the Jenkins bug tracker using the java11-compatibility label. This helps us organize these issues so that they automatically appear on the Wiki page and get triaged.

For security issues, please use the standard vulnerability reporting process.

1. Although it’s technically been possible to run Jenkins on Java 11 since version 2.155, doing so is far more complex. Running any Jenkins version prior to 2.164 on Java 11 is not recommended