Any chance of getting the fix for JDK-8210759 backported to JDK 11? I remember reading the OpenJDK will be patched up to 2023 (while Oracle JDK will be patched up to 2026). We deliver software that our customers could be running for a decade or more. The LTS is the version we will then target when we move away from Java 8.
/Sverre Den tor. 27. sep. 2018 kl. 18:18 skrev Kevin Rushforth < kevin.rushfo...@oracle.com>: > I missed seeing the swing exception in your earlier message. Yes, the > Swing issue is a known problem in openjfx11, JDK-8210759 [1], and is > documented in the release notes [2]. > > It will be fixed in openjfx12 just as soon as I push the fix for > JDK-8210092 [3] later today (the review was just finished earlier this > morning). This was one of the bugs waiting until the fix requiring JDK 11 > for openjfx 12 was pushed. > > As for your other question, yes, if you add the javafx.* modules to your > Java runtime image, then that runtime image contains the javafx.* modules. > If your application were modularized, then the Java runtime image would > contain your application, too. > > -- Kevin > > [1] https://bugs.openjdk.java.net/browse/JDK-8210759 > [2] > https://github.com/javafxports/openjdk-jfx/blob/jfx-11/doc-files/release-notes-11.md#known-issues > [3] https://bugs.openjdk.java.net/browse/JDK-8210092 > > > On 9/27/2018 9:03 AM, Sverre Moe wrote: > > Without the reliance on javafx-swing I was able to create an image, > package and execute my test application. > Is the Swing problem a known bug in JavaFX 11? > > The jlink runtime image I reckon now also contains the JavaFX modules? > Seems unnecessary when they already are dependencies. > > /Sverre > > Den tor. 27. sep. 2018 kl. 10:42 skrev Sverre Moe <sverre....@gmail.com>: > >> Den tor. 27. sep. 2018 kl. 00:49 skrev Kevin Rushforth < >> kevin.rushfo...@oracle.com>: >> >>> No, jlink won't link in a non-modular application. So the steps are: >>> >>> 1) Run jlink to create a Java runtime image, possibly stripped down, and >>> include the javafx.* modules you need >>> 2) Run jpackager to package your non-modular application with the above >>> Java runtime image. >>> >>> -- Kevin >>> >> >> So we have to create the image with the jlink first before we use >> jpackager, and we have to link in with the javafx modules. We cannot use >> the javafx dependencies in the project? >> >> jlink --add-modules=ALL-SYSTEM --output image >> Error: Module ALL-SYSTEM not found >> >> The just to make sure we have everything we need I add the actual modules >> jlink --add-modules=java.base --add-modules=java.desktop >> --add-modules=java.net.http --add-modules=java.xml >> --add-modules=java.prefs --add-modules=java.logging --output image >> >> Linking in with the JavaFX jmods from Gluon: >> jlink --add-modules=java.base --add-modules=java.desktop >> --add-modules=java.net.http --add-modules=java.xml >> --add-modules=java.prefs --add-modules=java.logging --module-path >> /usr/java/javafx-jmods-11/ --add-modules=javafx.base >> --add-modules=javafx.controls --add-modules=javafx.fxml >> --add-modules=javafx.graphics --add-modules=javafx.web >> --add-modules=javafx.media --add-modules=javafx.swing --output image >> >> I managed to build our Java 8 project with Java 11, using the JavaFX >> dependencies. >> Then using jpackager with the runtime image from jlink >> /usr/java/jpackager/jpackager create-installer --input >> build/distributions/application-1.0.0-SNAPSHOT/lib/ --output outputDir >> --runtime-image image/ --verbose --echo-mode --main-jar >> application-1.0.0-SNAPSHOT.jar >> >> Running the application image from jpackager >> First try: >> I thought I had added all necessary modules to the runtime image, but I >> needed one more, java.management. >> >> Second try: >> InteropFactory: cannot load >> com.sun.javafx.embed.swing.newimpl.InteropFactoryN >> Exception in thread "GUIBuilderWorker" java.lang.IllegalAccessError: >> class com.sun.javafx.embed.swing.oldimpl.SwingNodeInteropO (in module >> javafx.swing) cannot access class sun.swing.JLightweightFrame (in module >> java.desktop) because module java.desktop does not export sun.swing to >> module javafx.swing >> at >> javafx.swing/com.sun.javafx.embed.swing.oldimpl.SwingNodeInteropO.<clinit>(SwingNodeInteropO.java:71) >> at >> javafx.swing/com.sun.javafx.embed.swing.oldimpl.InteropFactoryO.createSwingNodeImpl(InteropFactoryO.java:42) >> at >> javafx.swing/javafx.embed.swing.SwingNode.<init>(SwingNode.java:271) >> at no.company.application.fx.MySwingComponent.initNode( >> MySwingComponent.java:155) >> >> The module java.desktop should include the AWT/Swing. >> >> At least I now have been able to create an native application using both >> jlink and the new jpackager. >> >> /Sverre >> > >