Modular Applications - Regression

Scott Palmer swpalmer at
Mon Jan 14 15:03:39 UTC 2019


I’ld like to confirm something, because I see suggestions to “build X as a modular app” or “build as a modular jar” and I’m wondering if I’m missing something.  These options don’t seem to be practical for most applications.

Does this not require ALL dependencies - down the entire dependency chain, including every transitive dependency, to be 100% modular?

I don’t know of many applications outside of those included in the JDK (where dependencies are not an option) that this restriction actually applies to.  In fact since Java 11 there is a regression where applications that could be built as modular with JDK 9 & 10 no longer can be, because the java.activation module was removed and no modular replacement is available.  Many dependency chains lead to java.activation.

Am I correct that this is the current state of things when trying to create a Java module?  I feel I must be missing something because I’m not seeing the expected complaints over the app-breaking regression of the removed modules no longer being available as modules.  Is it just that nobody is making modular apps yet?



> On Jan 14, 2019, at 9:34 AM, Andy Herrick <andy.herrick at> wrote:
> you can avoid that by running jlink first, and creating a minimal jdk-11.0.1 runtime image for your app, or by building EazyCNC.jar as a modular app (or as a modular jar which you may have already done for all I know)

More information about the core-libs-dev mailing list