[12] RFR: JDK-8209966: Update minimum boot JDK to 11

Kevin Rushforth kevin.rushforth at oracle.com
Sat Sep 22 13:50:53 UTC 2018


On 9/21/2018 6:00 PM, Ty Young wrote:
> Is requiring the previously released JDK to build JavaFX really 
> necessary? Does something *actually* break as a result of using an 
> older boot JDK?
>

Yes, there is a good reason to do this, and that is to fix JDK-8210092 
[1], which gets rid of the legacy swing interop implementation and the 
associated qualified exports, and some crufty build logic to optionally 
exclude the classes that depend on JDK 11; this also fixes JDK-8210759 
[2] . Also, JDK 10 is obsoleted by JDK 11, which is an LTS, so even if 
we don't adopt a model of always bumping the minimum boot JDK for each 
release, it is appropriate to do so now.

> In other words, if I wanted to compile JavaFX 12 right now I'd need to 
> use Oracle JDK 10(which may not even be available for download in the 
> future, who knows?), use it to compile JDK 11 with JavaFX 11, and then 
> use that to compile JavaFX 12 if I couldn't find JDK 11 with JavaFX 
> online somewhere.

You misunderstand. Today you need to use a JDK 10 (or JDK 11) *without* 
the JavaFX classes to build JavaFX 12, just like we did for building 
JavaFX 11. Starting with JDK 11 there are no more JDKs that include 
JavaFX. That's why we build JavaFX as a separate SDK and set of maven 
modules.

> And it's only going to get worse as time goes on. Would it not be 
> possible to support up until the last JDK LTS(Starting at 11) release 
> for building JavaFX? I feel like maybe that would be more reasonable.

This is a good question, and maybe in the future we might not be so 
quick to do this...or maybe we will.  We should discuss this before we 
get to this point for JavaFX 13, a little less than six months from now. 
The choices for the model are:

1. Allow building JavaFX N with either JDK N-1 or JDK N.
2. Allow building JavaFX N with the most recent LTS or later.

Choice #1 will allow JavaFX to better keep pace with JDK features (API 
or language features). Choice #2 will allow JavaFX to build and run with 
the most current, stable JDK LTS at the cost of not being able to use 
newer JDK features.

-- Kevin

[1] https://bugs.openjdk.java.net/browse/JDK-8210092
[2] https://bugs.openjdk.java.net/browse/JDK-8210759



More information about the openjfx-dev mailing list