[JIRA] (JENKINS-54305) Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

3 views
Skip to first unread message

marcus.a.philip@gmail.com (JIRA)

unread,
Oct 29, 2018, 4:52:03 AM10/29/18
to jenkinsc...@googlegroups.com
Marcus Philip moved an issue
 
Jenkins / Bug JENKINS-54305
Oracle JDK 10 not available anymore - Oracle JDK 11 is not free
Change By: Marcus Philip
Project: Infrastructure Jenkins
Key: INFRA JENKINS - 1820 54305
Workflow: classic default workflow JNJira + In-Review
Component/s: jdk-tool-plugin
Component/s: etc
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

dnusbaum@cloudbees.com (JIRA)

unread,
Oct 29, 2018, 11:27:04 AM10/29/18
to jenkinsc...@googlegroups.com
Devin Nusbaum commented on Bug JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

Yes, Oracle's JDK 11 license change is problematic for most users.

If I had time, I would like to switch the plugin to using OpenJDK builds from this page: https://jdk.java.net/archive/ (although that might not have the most current version of each release?). We would need to update the crawler to look in the right place, and change JDKInstaller.java to accommodate, but I do not think I will have any time to work on this in the near future.

That said, the only reason this installation method exists in the first place is for backwards compatibility. It is unreliable and can break any time Oracle's website is updated (see JENKINS-47448 for an example of when this happened), and OpenJDK does not provide binary downloads for JDK 8 or older, so users building against old versions for whatever reason will be broken if we switch to OpenJDK.

It is generally better to install the JDK on your build agents in advance instead of installing it on-demand using Jenkins. If you really need to install it on-demand, then it is better to use something like the "Run a shell command installer" with a script that runs apt-get install openjdk-11-jdk or similar to make sure you get the latest updates.

dnusbaum@cloudbees.com (JIRA)

unread,
Oct 29, 2018, 11:28:02 AM10/29/18
to jenkinsc...@googlegroups.com
Devin Nusbaum edited a comment on Bug JENKINS-54305
Yes, Oracle's JDK 11 license change is problematic for most users.

If I had time, I would like to switch the plugin to using OpenJDK builds from this page: https://jdk.java.net/archive/ (although that might not have the most current version of each release?). We would need to update the [crawler|https://github.com/jenkins-infra/crawler/blob/master/jdk.groovy] to look in the right place, and change [JDKInstaller.java|https://github.com/jenkinsci/jdk-tool-plugin/blob/master/src/main/java/hudson/tools/JDKInstaller.java] to accommodate, but I do not think I will have any time to work on this in the near future.


That said, the only reason this installation method exists in the first place is for backwards compatibility. It is unreliable and can break any time Oracle's website is updated (see JENKINS-47448 for an example of when this happened), and OpenJDK does not provide binary downloads for JDK 8 or older, so users building against old versions for whatever reason will be broken if we switch to OpenJDK.

It is generally better My recommendation would be to install the JDK on your build agents in advance instead of installing it on-demand using Jenkins. If you really need to install it on-demand, then it is better to use something like the "Run a shell command installer" with a script that runs apt-get install openjdk-11-jdk or similar to make sure you get the latest updates.

o.v.nenashev@gmail.com (JIRA)

unread,
Oct 30, 2018, 1:50:02 AM10/30/18
to jenkinsc...@googlegroups.com

We had a discussion about this issue in Platform SIG. I have tentatively added it to the Java 11 EPIC for consideration.

My proposal would be to rename the plugin to "Oracle JDK Installer" and to mark it as deprecated for now. I do not think there is a pressing issue to provide a ToolInstaller replacement for OpenJDK which also has weird distribution policies starting from Java 11. Maybe the best way is to add AdoptOpenJDK installer or something like that

marcus.a.philip@gmail.com (JIRA)

unread,
Oct 30, 2018, 6:30:02 AM10/30/18
to jenkinsc...@googlegroups.com

I am quite OK with this not getting fixed. The main problem is really the confusion ('java.sun.com' in Installer name, no Java 11 appearing, Java 10 install failing, ...), not that there is no download installer available OOTB. It's simple to install the tool in another way.

benoit.guerin@gmail.com (JIRA)

unread,
Nov 2, 2018, 3:08:03 AM11/2/18
to jenkinsc...@googlegroups.com

While I get your position guys, I think it's really a shame if that plugin disappears

In my company, we have half a dozen of main projects, each one with its own rythm and most of all its one constraints. For example, for every installation or major upgrade in production of one of them, the whole software has to been checked (including third party librairies used, the embedeed JVM, ...) so it is unimaginable to change the JVM, even for a minor update, just because today is sunny

Having this plugin, each team can specify, in its pipeline, what version of Java they want (8, 10, ...)

Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ?

o.v.nenashev@gmail.com (JIRA)

unread,
Nov 2, 2018, 3:21:03 AM11/2/18
to jenkinsc...@googlegroups.com

> Installing the JDK on the agent force builds to use it, and remove the choice to teams. Unless I am missing something ?

It depends on what you understand under "agent". For containers/images it is not a problem, they can be provisioned on-demand.For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory.

> I think it's really a shame if that plugin disappears

We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone.

 

 

benoit.guerin@gmail.com (JIRA)

unread,
Nov 2, 2018, 3:50:02 AM11/2/18
to jenkinsc...@googlegroups.com

> For containers/images it is not a problem

you're right

> For classic types of agents you are still able to install multiple Java Versions and then just use another ToolInstaller to set path, e.g. to a shared directory

I have more this one in head. I can do this, but it's much more simpler to declare a tool in Jenkins tools configuration, provide a variable in my shared global pipeline lib, and let teams pick the one they want

> We welcome all contributions to the project. If somebody steps up and maintains the plugin, it will be a benefit to everyone.

I know how open source works  and be sure that every contribution I can do at my level, I do.

Here I am a little bit lost ... For the crawler, can I open a PR on it ? It is Jenkins own INFRA, not (directly) used by jenkins installations. And about weird distribution policies, what is the problem ? If we fix the plugin to supports JDK 11, it is ok or not ?

dnusbaum@cloudbees.com (JIRA)

unread,
Nov 2, 2018, 9:59:02 AM11/2/18
to jenkinsc...@googlegroups.com

Here I am a little bit lost ... For the crawler, can I open a PR on it ? It is Jenkins own INFRA, not (directly) used by jenkins installations. And about weird distribution policies, what is the problem ? If we fix the plugin to supports JDK 11, it is ok or not ?

Yep, the crawler runs on Jenkins Infra, and it publishes this file, which is then downloaded by Jenkins instances which use it to know what JDK versions are available and what their download URLs are. I think you should be fine to open a PR against the crawler, although you would likely need to synchronize it with a PR to https://github.com/jenkinsci/jdk-tool-plugin, and depending on the changes required you might need to publish a new file instead of the old one so compatibility with old instances is not broken (for example if you switch to AdoptOpenJDK).

benoit.guerin@gmail.com (JIRA)

unread,
Nov 2, 2018, 10:51:16 AM11/2/18
to jenkinsc...@googlegroups.com

me@brendanh.com (JIRA)

unread,
Nov 7, 2018, 1:24:02 PM11/7/18
to jenkinsc...@googlegroups.com

JDK10 is still available, but the plugin now has the wrong URL for it. Per the issue I've just opened, first part of the URL should be:

http://download.oracle.com/otn
instead of:
http://download.oracle.com/otn-pub

Can we get this corrected?

o.v.nenashev@gmail.com (JIRA)

unread,
Nov 27, 2018, 1:59:02 AM11/27/18
to jenkinsc...@googlegroups.com

o.v.nenashev@gmail.com (JIRA)

unread,
Nov 27, 2018, 1:59:03 AM11/27/18
to jenkinsc...@googlegroups.com
Oleg Nenashev assigned an issue to Unassigned

o.v.nenashev@gmail.com (JIRA)

unread,
Nov 27, 2018, 2:02:01 AM11/27/18
to jenkinsc...@googlegroups.com

> Can we get this corrected?

 

AFAICT https://github.com/jenkins-infra/crawler/blob/master/jdk.groovy#L27-L42 needs to be corrected. Somebody needs to propose a PR against this repo and then to test it

o.v.nenashev@gmail.com (JIRA)

unread,
Nov 29, 2018, 6:11:02 AM11/29/18
to jenkinsc...@googlegroups.com

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 13, 2018, 11:42:04 AM12/13/18
to jenkinsc...@googlegroups.com
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

I think we need to do something about that for the GA release

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 18, 2018, 5:40:03 AM12/18/18
to jenkinsc...@googlegroups.com

batmat@batmat.net (JIRA)

unread,
Dec 19, 2018, 6:17:03 AM12/19/18
to jenkinsc...@googlegroups.com
Baptiste Mathus updated an issue
 
Change By: Baptiste Mathus
The automatic installation of Tool JDK 10 failed today for us with a 404. It seems Oracle JDK 10 not available anymore at all. And Java 11 cannot be used in production due to new licences. No JDK 11 is available in Jenkins java.sun.com JDK Tool installer.

https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

I guess the tool installer should be changed to use http://openjdk.java.net/projects/jdk/11/ (downloaded from http://jdk.java.net/11/).


h3. Acceptance criteria
* a JDK 11 is proposed as download
* ideally, see if we can still propose JDK10,
* and JDK12

batmat@batmat.net (JIRA)

unread,
Dec 19, 2018, 6:22:35 AM12/19/18
to jenkinsc...@googlegroups.com
Baptiste Mathus commented on Bug JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

We are most probably not going to be able to propose Oracle JDK anymore for automated downloads after the crawlers. People willing to still do that will be able to do it on themselves.
I think the remaining question is to decide if we use https://openjdk.java.net/ or AdoptOpenJDK. From a licensing perspective, I think this is very similar if not the same.
We'll probably decide also depending on the easiness using one or the other.

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 19, 2018, 6:29:02 AM12/19/18
to jenkinsc...@googlegroups.com

batmat@batmat.net (JIRA)

unread,
Dec 19, 2018, 8:58:04 AM12/19/18
to jenkinsc...@googlegroups.com

Yeah, TBH I do not really care. Given the title here and the discussion, using this report to actually fix would also make sense.

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 19, 2018, 9:05:10 AM12/19/18
to jenkinsc...@googlegroups.com

I am thinking about a separate issue, because it looks reasonable to have OpenJDK Installer as a separate plugin (and to rename the existing one to the Oracle one)

batmat@batmat.net (JIRA)

unread,
Dec 22, 2018, 4:34:04 PM12/22/18
to jenkinsc...@googlegroups.com
Baptiste Mathus updated an issue
Change By: Baptiste Mathus
Labels: java11 java11 -compatibility triaged

sprior@geekster.com (JIRA)

unread,
Jan 2, 2019, 2:16:02 PM1/2/19
to jenkinsc...@googlegroups.com
Steve Prior commented on Bug JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

Given the understandable lack of enthusiasm to keep automatic JDK installers up to date I'm wondering about another option.  I'm planning to move my Jenkins install to run from a Docker container and there are repository images for OpenJDK's JDKs.  Has anyone thought about the easiest way pull one of the OpenJDK images and then use that as a volume to attach to a Jenkins container?  Then you'd simply configure jenkins to use the JDK in the given path and upgrading the JDK patch level would be about as simple as doing a pull for the updated image.

The trick here is that you can use a Docker container as a volume, but not an image so you'd have to pull the image, create a container from it, then create the Jenkins container with that volume attached.

manuelramonleonjimenez@gmail.com (JIRA)

unread,
Jan 4, 2019, 11:18:02 AM1/4/19
to jenkinsc...@googlegroups.com

david.goate+jenkins@gmail.com (JIRA)

unread,
Jan 9, 2019, 9:39:02 AM1/9/19
to jenkinsc...@googlegroups.com
David Goate commented on Bug JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

I'm actually not sure about the title of this issue, specifically  "Oracle JDK 11 is not free".

 

I thought that it was not free for use in production, but that it can be used to produce development builds? If that is the case, as long as the Oracle JRE is not actually being used to run the code in production (rather than just build the JAR file that will ultimately be used), is  there an issue with using Oracle JDK 11?

 

It's a little academic in my specific case anyway, as we've started using OpenJDK java 11 build now (via the custom tool plugin rather than the JDK tool one). But I am interested on whether my interpretation of this is right. 

david.goate+jenkins@gmail.com (JIRA)

unread,
Jan 9, 2019, 9:39:04 AM1/9/19
to jenkinsc...@googlegroups.com
David Goate edited a comment on Bug JENKINS-54305
I'm actually not sure about the title of this issue, specifically  "Oracle JDK 11 is not free".

 

I thought that it was not free for use in production, but that it can be used to produce development builds? If that is the case, as long as the Oracle JRE is not actually being used to run the code in production (rather than just build the JAR file that will ultimately be used), is  there an issue with using Oracle JDK 11?

 

It's a little academic in my specific case anyway, as we've started using OpenJDK java 11 build now (via the custom tool plugin rather than the JDK tool one - see  JENKINS-55482  ). But I am interested on whether my interpretation of this is right. 

batmat@batmat.net (JIRA)

unread,
Feb 11, 2019, 5:25:02 AM2/11/19
to jenkinsc...@googlegroups.com

batmat@batmat.net (JIRA)

unread,
Feb 11, 2019, 5:28:02 AM2/11/19
to jenkinsc...@googlegroups.com
Baptiste Mathus commented on Bug JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

More and more inclined to say this feature anyway was nice for demos, but for real usage should not be used. Because it means your internal servers are constantly downloading binaries from outside.

  • It can end up with your company network being banned for excessive bandwidth consumption
  • in case of public network glitch, all your builds start to die

benoit.guerin@gmail.com (JIRA)

unread,
Feb 11, 2019, 8:17:02 AM2/11/19
to jenkinsc...@googlegroups.com

Files downloaded from oracle.com are cached in a folder on the master (~/cache/jdks) ...

Maybe you can ask the community if this feature is used / usefull or not.

batmat@batmat.net (JIRA)

unread,
Feb 12, 2019, 5:41:02 PM2/12/19
to jenkinsc...@googlegroups.com

Given your comment, I think we are talking about two different things: this plugin allows people to:

  • either use a pre-filled combo, select JDK, and have Jenkins automatically download it from oracle.com.
  • or the other way (which should the strongly recommended one [1]) is to do it very similarly, but define the JDK name, a custom URL (usually pointing to some internal webserver, ideally some binary repository like Nexus or Artifactory where you'll have uploaded some jdk.zip yourself), and then from a Jenkins user standpoint it looks absolutely the same.
    The huge difference is that using the latter strategy you don't risk to block your whole build infra because your Internet access has a temporary network glitch, or a more durable stop if oracle.com starts banning your IP, after getting annoyed that you keep downloading the same thing dozens or hundreds of times a day from their servers (bandwidth does cost some money ).

I hope this clarifies.

[1] Unfortunately, I didn't check, but I don't think this is currently correctly documented. We should be able to fix this soon I hope. (PRs welcome, though . Happy to help anyone doing this).

dnusbaum@cloudbees.com (JIRA)

unread,
Feb 12, 2019, 5:44:02 PM2/12/19
to jenkinsc...@googlegroups.com

Baptiste Mathus I added this warning when I split the plugin from core, but it could probably be updated to be more accurate and put in a more visible location so that you don't have to click into the help text to see it.

batmat@batmat.net (JIRA)

unread,
Feb 12, 2019, 5:48:01 PM2/12/19
to jenkinsc...@googlegroups.com

Devin Nusbaum awesome! Yes, so then I guess we'll see possibly just make a pass to see if/how we can make this even more visible. But that's already great. Thanks!

sverre.moe@gmail.com (JIRA)

unread,
Feb 23, 2019, 1:13:02 PM2/23/19
to jenkinsc...@googlegroups.com

An installer for JDK from AdoptOpenJDK would be a welcoming addition.

The Oracle OpenJDK 11 LTS builds will only receive updates for 6 months, while AdoptOpenJDK will commit to providing builds until LTS EOL.

OpenJDK provides a new feature release every six months, and a maintenance/security update based upon each active release every three months. We will follow this schedule for publishing binary releases from AdoptOpenJDK to ensure you get the latest, most secure builds.

In addition, every three years one feature release will be designated as the Long Term Supported (LTS) release. We will produce LTS releases for at least four years. This assurance will allow you to stay on a well-defined code stream, and give you time to migrate to the next, new, stable, LTS release when it becomes available.

Though we still need the Oracle JDK Installer, for those who still use an older JDK.
We have some legacy application using JDK 1.6 and JDK 1.7.

I like Baptiste Mathus suggestion of Using a repository manager like Nexus to get the JDK. Then you could get the JDK from your preferred source.

martijnverburg@gmail.com (JIRA)

unread,
Feb 24, 2019, 3:19:03 PM2/24/19
to jenkinsc...@googlegroups.com
karianna commented on Bug JENKINS-54305

https://api.adoptopenjdk.net is the location you want to pull in versions via our API.  Let me know if you have any issues.

o.v.nenashev@gmail.com (JIRA)

unread,
Mar 28, 2019, 10:32:05 AM3/28/19
to jenkinsc...@googlegroups.com

o.v.nenashev@gmail.com (JIRA)

unread,
Mar 28, 2019, 10:32:09 AM3/28/19
to jenkinsc...@googlegroups.com
Oleg Nenashev commented on Improvement JENKINS-54305
 
Re: Oracle JDK 10 not available anymore - Oracle JDK 11 is not free

Changed to the "Improvement" according to the discussion

hr.mohr@gmail.com (JIRA)

unread,
May 29, 2019, 2:14:03 PM5/29/19
to jenkinsc...@googlegroups.com

I've created an installer plugin for AdoptOpenJDK: https://github.com/jenkinsci/adoptopenjdk-plugin

The initial release is still pending though as crawler metadata is not updating: INFRA-2111

I have also opened a [PR|https://github.com/jenkinsci/jdk-tool-plugin/pull/5] that adds a warning text to the Oracle JDK installer about the license change and I've also opened a [PR|https://github.com/jenkins-infra/crawler/pull/82] that restores Java 10 and adds Java 11 and Java 12.

Reply all
Reply to author
Forward
0 new messages