Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Failed to build HelloFX for Windows on Arm64 platform #158

Open
chirontt opened this issue Aug 13, 2022 · 1 comment
Open

Failed to build HelloFX for Windows on Arm64 platform #158

chirontt opened this issue Aug 13, 2022 · 1 comment

Comments

@chirontt
Copy link

I've got an Arm64 machine running Windows 11 natively (Windows on Arm64). I've installed the OpenJDK for Windows on Arm64 from Microsoft, so Java is available natively on the machine (i.e. no emulation of x86_64 code.) Running the mvn --version command shows:

Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: C:\apps\apache-maven-3.8.6
Java version: 17.0.4, vendor: Microsoft, runtime: C:\apps\jdk-17.0.4+8
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 11", version: "10.0", arch: "aarch64", family: "windows"

When I try to build the gluonhq/gluon-samples' HelloFX project, with the command mvn package, it fails to build:

[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< com.gluonhq.samples:hellofx >---------------------
[INFO] Building HelloFX 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.865 s
[INFO] Finished at: 2022-08-13T17:11:20-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hellofx: Could not resolve dependencies for project com.gluonhq.samples:hellofx:jar:1.0.0-SNAPSHOT: The following artifacts could not be resolved: org.openjfx:javafx-controls:jar:${javafx.platform}:18.0.2, org.openjfx:javafx-graphics:jar:${javafx.platform}:18.0.2, org.openjfx:javafx-base:jar:${javafx.platform}:18.0.2: org.openjfx:javafx-controls:jar:${javafx.platform}:18.0.2 was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

I expect that the mvn package would at least compile and produce a jar package, even if the jar would fail to run afterwards because of missing JavaFX native libraries for Windows ARM64 platform in Maven Central. But the code fail to even compile, with above errors.

@chirontt
Copy link
Author

chirontt commented Oct 6, 2022

Update: this plugin seems to try to set a value for some internal property javafx.platform, and it fails to set it for Windows on Arm64 platform, so my build fails with the above exception. I can "help" with the build command by explicitly specifying a known value for the property (any valid known value such as win, linux, or mac), like:

mvn package -Djavafx.platform=linux

and it works, producing the target\hellofx-1.0.0-SNAPSHOT.jar artifact.

The above jar can run fine in Windows on Arm64, by using a JDK distribution with embedded JavaFX, like the "Full JDK" distribution from BellSoft for Windows Arm.

Note that the hellofx app can be run with the Maven javafx:run task, like

mvn javafx:run -Djavafx.platform=linux

if the above-mentioned "Full JDK" is used to run it.

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

No branches or pull requests

1 participant