Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenJFX support for 32-bit systems

Tags:

java

openjfx

I would like to build my JavaFX app for Windows x86 arch. So I've downloaded Adopt OpenJdk 32-bit build and used it to create Java Runtime Image. When I'm trying to run application I get the following error:

Loading library api-ms-win-core-console-l1-1-0 from resource failed: java.lang.UnsatisfiedLinkError: C:\Users\admin01\.openjfx\cache\11.0.1\api-ms-win-core-console-l1-1-0.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
java.lang.UnsatisfiedLinkError: C:\Users\admin01\.openjfx\cache\11.0.1\api-ms-win-core-console-l1-1-0.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)

This error occurs because openjfx:javafx-graphics artifact is platform dependent and it includes DLLs compiled for 64-bit arch.

$ file api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l1-1-0.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows

There is no 32-bit OpenJFX version in Maven Central.

Is it possible to get x86 version somewhere? Or how can I build it by myself?

like image 744
Evan Avatar asked Jan 14 '19 10:01

Evan


People also ask

Is JavaFX still supported?

Oracle wrote in its Client Support Roadmap that JavaFX new fixes will continue to be supported on Java SE 8 through March 2025.

Is OpenJFX free for commercial use?

JavaFX, also known as OpenJFX, is free software; licensed under the GPL with the class path exception, just like the OpenJDK.

Does Java 11 support JavaFX?

In Java 11, JavaFX was removed from the SDK. It is now in its own separate module, and if you want to use it in your application you will need to specifically include it.

Does Java 17 support JavaFX?

The fact that we can release JavaFX 17 today is a huge victory for the developer community. JavaFX is really driven by this community. Technical contributions from Gluon, Oracle and a growing number of individuals and companies are discussed in an open way in the OpenJFX project at GitHub.


1 Answers

Liberica OpenJDK 12 is available for 32-bit Windows and includes OpenJFX. As far as I know it's the only publicly available JDK including 32bit openjfx ref. https://bell-sw.com/pages/java-12

As of right now (April 16th 2019):

  • Zulu OpenJDK not available publicly for 32bit windows plus never got any reply on requests for 32bit
  • Amazon Corretto available for Java 8 only plus not full Javafx (missing webkit libs)
like image 66
Nicola Beghin Avatar answered Oct 13 '22 17:10

Nicola Beghin