Played a bit with java 11 today, my goal was to create a native image.
So long story short i took maven jlink plugin, a small meecrowave (tomcat+openwebbeans+cxf) app, added a module-info.java file and ran.
After some tweaks and adjustments i managed to compile (which is always the first step),
fixed some issues in the stack (this does not support anymore overlapping packages between jars)
and finally arrived at jlink stage.
Here the issue is that all the stack is either unamed modules or automatic modules (allowing to run on java11 with stable names). Automatic module names are not supported by jlink cause they more or less say "we want the JRE" vs "we want this module and this one and this one etc". Note that this is just not theorical but hardcoded in jdk/tools/jlink/internal/JlinkTask.java
This is quite frustrating after having done all the work so I wonder if we should start considering jpms more seriously.
Here the items I can see:
1. make all our spec jar j11 friendly (the names we are using don't work cause of number positions), we should at least make them with an automatic name (think there is a pending PR) but also check it is the standard name otherwise we'll break the graph (javax.activation wouldnt work with jaxb which expects java.activation for instance)