Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Do Temurin binaries ship with some form of JavaFX? #826

Closed
Southpaw1496 opened this issue Jun 20, 2023 · 3 comments
Closed

Do Temurin binaries ship with some form of JavaFX? #826

Southpaw1496 opened this issue Jun 20, 2023 · 3 comments

Comments

@Southpaw1496
Copy link

Question

I am trying to run a software called MCASelector, and when I ran it for the first time, it presented me with this error:

Please install JavaFX for your Java version (17.0.7) to use MCA Selector.

I didn't find anything very conclusive on Google, only this migration guide, which said it shipped with OpenJFX since JDK 11, and this forum post that says it doesn't ship with JavaFX, so they seem to be in conflict. I don't really know enough about Java to know which is correct, or how to proceed if Temurin does ship with something JavaFX-adjacent and MCASelector isn't detected.

Context

Java version:

openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7)
OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode)

Your operating system and platform: macOS Ventura 13.4, Apple Silicon (ARM64)

@gdams
Copy link
Member

gdams commented Jun 21, 2023

You need to download JavaFX from the Gluon Website (https://gluonhq.com/products/javafx/). Look for the JavaFX SDK downloads. There will be different versions available for different versions of Java. Download the one that matches your Java version (17.0.7). Once the download is complete, extract the zip file. You need to add JavaFX to your Java installation. This typically involves adding a 'path' to your JavaFX lib folder to the Java command you use to start MCA Selector. For example, if you have JavaFX installed in path-to-javafx-sdk-17.0.7/lib, you might start the program with a command like:

java --module-path path-to-javafx-sdk-17.0.7/lib --add-modules javafx.controls,javafx.fxml -jar path-to-mca-selector/MCA_Selector.jar

Note: You will need to replace path-to-javafx-sdk-17.0.7/lib and path-to-mca-selector/MCA_Selector.jar with the actual paths on your system.

@gdams gdams closed this as completed Jun 21, 2023
@ronyfla
Copy link

ronyfla commented Jul 15, 2023

JavaFX is an important part of Java per se. Although it is possible to get the four modules from Gluon this is more than cumbersome and user unfriendly to the max IMHO.
Using Java as a system wider runtime environment (and not as a runtime being only used by a specific Java application) it is important to have the JavaFX infrastructure available via it as is the case with awt and swing. Not supporting and supplying JavaFX is a major disbenefit to the Java community IMHO and not necessary as can be seen by other OpenJDK distributions like Liberica (https://bell-sw.com/pages/downloads/) and the like.
Leaving out JavaFX as the most modern Java GUI system from such an important distribution as Temurin/Adoptium is not understandable and effectively harming Java, splitting it up into too many versions making adoption very difficult, the opposite of what "Adoptium" was intended for.

@hanggrian
Copy link

@ronyfla Liberica full JDK with bundled JavaFX is nice for local applications. However, it is quite problematic if your build is integrated with CI, simply because most CI vendors use plain OpenJDK flavors.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants