Skip to content

Remove the client's JavaFX dependency after #437 #471

Open

Description

@ssrowe

#437 replaces the WebView-based tag field with Swing. That tag field was the only JavaFX user in the Administrator client: #277 (crash on JREs without JavaFX) came from its JFXPanel, and #278 added the startup check to give a clearer error. Once #437 merges, these JavaFX leftovers can go:

  • Platform.setImplicitExit(false) in Frame.java: only kept the JavaFX runtime alive between tag fields.
  • The JavaFX check in ClientPrerequisites ( Fix: Add JavaFX requirement check on startup #278).
  • javafx.controls,javafx.fxml in --add-modules in client/build.gradle.
  • The committed client/lib/openjfx.jar (OpenJFX 11 classes, GPL-2.0 with Classpath Exception).
  • The OpenJFX credit in AboutMirth.java and the OpenJFX section of THIRD-PARTY-README.txt.

Benefits:

  • Removes a committed binary and an item the Eclipse Dash License Tool flags as restricted (OpenJFX has no license data in ClearlyDefined).
  • The client runs on any Java 17+ runtime, and JavaFX not required.

Activity

  1. added theissue type on Oct 5, 2026
  2. added
    licensingEclipse Intellectual Property (IP) due diligence: licensing, provenance, Dash results, IP reviews
    on Oct 5, 2026
  3. tonygermano commented on Oct 24, 2026

    @tonygermano
    Member

    @ssrowe One more leftover for the list: the devClient task in client/build.gradle also passes -Dcom.sun.webkit.useHTTP2Loader=false. It only applied to the tag field's WebView, so it can go together with the javafx.* entries in --add-modules.

  4. pacmano1 commented on Oct 25, 2026

    @pacmano1
    Contributor

    Two more for the list:

    • .sdkmanrc pins java=17.0.17.fx-zulu, and the Dockerfile builds with it. Switch it to a JDK without JavaFX in the same PR, so the build stops depending on it.
    • The server puts every jar in client-lib into the JNLP: on a build of Replace webview based tags control #437 the folder has 91 jars and the JNLP lists the same 91, openjfx.jar included. The installer removes the previous release's files, but anyone upgrading by unpacking the tar.gz or zip over an existing install keeps the old openjfx.jar, so the release notes need to say to delete client-lib/openjfx.jar.

    Checked #437's head in the real Administrator: after opening the channel editor and both tag filters, no JavaFX threads are running. Its base runs four.

  5. tonygermano commented on Oct 26, 2026

    @tonygermano
    Member

    but anyone upgrading by unpacking the tar.gz or zip over an existing install keeps the old openjfx.jar

    We do not support doing this, we would have the same issue for tons of libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    licensingEclipse Intellectual Property (IP) due diligence: licensing, provenance, Dash results, IP reviews

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions