OpenJFX status update

Kevin Rushforth kevin.rushforth at oracle.com
Thu May 17 21:52:27 UTC 2018



On 5/17/2018 3:16 AM, Ty Young wrote:

>>>>> And could the new standalone modules be integrated with the source 
>>>>> code somehow so that a JDK without JavaFX support can be compiled?
>>>>
>>>> Not sure what you mean, but you can use an OpenJDK without modules 
>>>> + the JavaFX standalone modules to build and run your program.
>>>>
>>>>
>>>
>>> It's an option, sure. My problem with it is that it creates so much 
>>> unnecessary disk usage because each bundled application requires 
>>> it's own copy of JavaFX. If you had 10 standalone JavaFX 
>>> applications it would be 1GB easily if they where all modular 
>>> projects, which are around 106MB for me. Creating an app bundle 
>>> using classpath is around 200MB(post JDK 8 was 250+ IIRC).
>>
>>
>> One option for you would be to use jlink to create a jre image that 
>> includes the javafx modules. This week's openjfx-11-ea+14 build will 
>> have a jmods bundle that you can use for this purpose.
>>
>
> So like it was done with OpenJDK 8 overlay but just with modules 
> instead, basically?

At a high-level, you can think of jlink as doing something like this. It 
can create a custom JRE image by taking the JDK, adding some additional 
modules -- including your application(s), if desired -- and strip out 
the modules you don't need.

> Arch Linux uses the rolling release update model, so it usually gets 
> the newest software before any other Linux distro.
>
> Removing -Werror from those two lines got me a compile, though with 
> many more warnings. However, attempting to compile an OpenJDK with 
> JavaFX results in its own build fail due to jdk packager module being 
> missing in the JavaFX build. See:
>
> https://pastebin.com/MzFLDxgK

Ah, I see the problem now. It seems you are trying to build JavaFX for 
inclusion into an OpenJDK. That isn't the expected mode any longer now 
that we have decoupled FX from the JDK, but it still should work. This 
is a regression caused by my recent change to enable building the 
standalone SDK. We no longer build the jdk.packager* modules in that 
mode, and yet there is still a qualified export from javafx.graphics to 
jdk.packager. This doesn't fail the FX build because we don't fail the 
FX build on warnings.

I filed the following bug:

https://bugs.openjdk.java.net/browse/JDK-8203378

I'll fix it soon, but your workaround is to do what you've been doing 
and use an Oracle JDK 10 build for as long as you need to build a JDK 
using FX bits that you build. Ultimately, switching to jlink will likely 
be the better solution for you.

> I tried copying the modular src files from a previous build and 
> pasting them into the new one that doesn't have it and now I just get 
> a build fail saying that JDK packager is marked for deprecation. I 
> take it JDK Packager is in the process of being removed then?

The javapackager tool and associated jdk.packager and 
jdk.packager.services modules have been removed from the JDK along with 
JavaFX. They are not part of the standalone JavaFX builds.

-- Kevin



More information about the openjfx-dev mailing list