RFR: JDK-8209966: Update minimum boot JDK to 11
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
, 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
 . 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
> 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.
More information about the openjfx-dev