native libs in modules

Philip Race philip.race at
Sun Apr 29 23:19:10 UTC 2018

On 4/29/18, 10:05 AM, Johan Vos wrote:
> Now that the OpenJFX SDK that works with Java 11 is about to be released in
> EA, we should think about releasing the modules.
> In case you download the OpenJFX SDK, running an app goes like
> java --module-path $OPENJFXSDK/lib --add-modules javafx.controls
> If you use gradle or maven, the same should be achieved using e.g.
> dependencies {
>      compile 'javafx:javafx.controls:11.0.0'
> }
> (ignore the naming and versioning for now)
> This will download the javafx controls module and its dependencies from
> e.g. maven central. The javafx controls module info declares a requires
> entry for javafx.base and so those will be downloaded.
> The question is how the native libs should be downloaded. It is possible to
> bundle the native libs with the modules, but there are a number of options
> for dealing with platform-specific libraries:
> 1. contains all native libraries for all platforms.
> 2. a generic module containing java code only, plus N
> platform-specific modules (or jar) containing the native code. An example
> of how this is used is ND4J:

The java code is platform-specific too .. so I don't see how #1 would 
work and
#2 would seem to require some large amount of work and I don't think will
work either because you can't split packages acrosss modules which is 
what it
would probably mean.

> To make it more complex, there are a number of options for e.g. prims
> leading to a number of native libs. Do we want to include all relevant
> options for all platforms?
> - Johan

More information about the openjfx-dev mailing list