How are library developers supposed to specify JavaFX dependencies (on JFX/JDK >= 11)?

Michael Hoffer info at
Fri Feb 8 21:26:13 UTC 2019


first of all, thanks for moving JavaFX forward. I just tried to migrate some of my JavaFX libraries from JDK 8 to 11. The migration story is already great for application developers. Well done. However, the documentation seems to lack significant information for library developers. I ran into the following problem:

How do I declare platform independent dependencies as a library developer? Currently, I am forced to specify the platform dependent version in my build script (be it explicit via `$platform` or implicit via the new JavaFX Gradle plugin). Am I right, that there's no real platform independent jar file + platform dependent jar? I only see merged jars where platform dependent Java code + platform dependent natives are mixed with platform independent Java code.

But that would mean that a user of my library would need to specify the JavaFX dependencies in his/her project. But how do users know which platform-dependent modules to declare as dependency? That’s something we usually expect Maven/Gradle to handle for us. 


- What is the intended way for declaring JavaFX dependencies for third party JavaFX libraries (NOT apps) for JDK >=11
- What’s the reason for not splitting the dependencies into platform dependent and platform independent parts as it is done by other Java libraries?


Dr. Michael Hoffer

Web: <>
Twitter: @mihosoft

Goethe-Zentrum für Wissenschaftliches Rechnen (G-CSC)
Kettenhofweg 139
60325 Frankfurt am Main
phone: +49 69 798 25254
info at <mailto:info at>

More information about the openjfx-dev mailing list