Jenkins Installation with Java 9 (JDK)

Summary (TL;DR)

Issue

Affects

Culprit

Workarounds / Recommendation

Backstory

The Problem

Now that Java 9 is finally Generally Available (GA) and students continue to follow the advice demonstrated in the course, which is to install the latest version of Java from the Oracle website, Jenkins installations will fail or become unstable.

This mainly affects students attempting to install Jenkins directly on Windows or Mac systems. Most Linux distributions have not made OpenJDK 9 available or the default version of Java yet.

The Issue

Like many open source (and commercial software), there are limited resources available to test and fix problems. In the case of Java 9, there are several significant changes that make supporting the latest JDK very difficult while maintaining backwards compatibility.

The currently open issue lists this effort as an Epic size - which means it might take a long time before Jenkins fully supports Java 9. However, since the GA of Java 9 and the increased adoption of that version - I fully expect Java 9 support to be a high priority in the near future.

Recommendation

To be fair, the installation instructions on the Jenkins website state the supported version of Java with the most recent versions of Jenkins is still Java 8.

Since no version of Jenkins is ready for Java 9 just yet, students taking this course should use the latest patch of the Java Development Kit (JDK) 8. Oracle will continue to update and patch Java 8 until September 2018, at which point it will become End of Lifed. I fully expect Jenkins to be ready for Java 9 before support runs out for Java 8.

Other Workarounds

For students that need to run Java 9 on their main system can consider one of the other possible options for running Jenkins:

By far, the easiest solution is to simply run Jenkin with Java 8.