Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

This page is a collaborative entrypoint for developer resources about developing and testing Jenkins to run on Java 11.

This page is not designed to receive status updates for user-facing issues. But you are more than welcome to check and report such issues so that they show on the dedicated Known Java 11 Compatibility issues wiki page. 

How to

develop and test your plugin for running on Java 11

Use or update to plugin-pom:3.29+

https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md#329 3.29 contains some updates to be able to build and run your plugins using Java 11.

Release a plugin specifically for Java 11

Current intermediate solution

First, please avoid doing this.

If you really think you have a case where you need it, we encourage you to come over the Jenkins developers mailing list to expose your case and see if we can find another way.

In any case, the strongly recommended way to handle this is:

  • still updating your plugin to plugin-pom:3.29 so your plugin embeds the new minimum version of Java requirement in its metadata. 
    • Since Jenkins 2.155, if you run using Java 11, Jenkins will default its update center to the temporary update center https://updates.jenkins.io/temporary-experimental-java11/. Because this shim feature was only delivered in December 2018, you see why we still strongly recommend you do not deliver plugins requiring Java 11+, even less in non experimental status (alpha or beta suffices): older versions of Jenkins will not filter out your plugin releases, and hence will crash while trying to load your plugin on a Java 8 runtime.
      So we need to give it time for 2.155+ to become a more wildly used minimal version for Jenkins. We do not expect this to happen at least before late 2019.
  • Release your plugin using -alpha-N or beta-N suffices so they are not visible by public instances out there (see the previous point about required and critical improvement only landed starting with Jenkins 2.155). 

Long term solution

The long-term solution is already on its way, but is not delivered yet. It's partly delivered by you bumping to the last 3.29+ parent pom so your plugin embeds a "minimum Java" metadata, plus adapting Jenkins core to use this metadata to filter out releases for a version of Java that is higher than the current runtime. Follow  JENKINS-20679 - Getting issue details... STATUS  and  JENKINS-55048 - Getting issue details... STATUS  if you are interested.

Run Jenkins using Java 11

WIP: Stay tuned: an article is planned to land on jenkins.io in the next hours/days (smile).

Run Plugin Compat Tester (aka PCT) using Java 11

Documented in the PCT repository: https://github.com/jenkinsci/plugin-compat-tester#running-pct-with-custom-java-versions

Run Acceptance Test Harness (aka ATH) using Java 11

Documented on the ATH repository: https://github.com/jenkinsci/acceptance-test-harness/blob/master/docs/JAVA11.md

Known developer tools issues

Please add known issues here.


  • No labels