Hi Antoine, you were sleeping during my presentation at last Devoxx FR :) The issue is that an automatic jar can access to the classpath while a modular jar can not, so if jlink allows automatic modules, you may have surprising NoClassDefNotError at runtime ruining the whole idea of jigsaw.
A simple workaround is to use jdep -geninfo on the automatic jar to generate a module-info.java, compile it with javac and inject it into the jar with a jar --update. see https://www.youtube.com/watch?v=a8xnnR3Bz6w&feature=youtu.be&t=2570 (in french) Rémi ----- Mail original ----- > De: "Antoine Sabot-Durand" <anto...@sabot-durand.net> > À: jigsaw-dev@openjdk.java.net > Envoyé: Dimanche 10 Juillet 2016 22:40:57 > Objet: Jlink and automatic module > > Hi All, > > I encounter the same problem than Sander in [1] regarding automatic modules > and Jlink. > My project has a lot of modules and uses a lot of dependencies (Java EE > spec and impls) so it took me a few days to walk thru the writing of all my > module-info.java files. hopefully I only found 2 automatics modules from > 3rd parties that had split packages and propose PR to these project to > correct these, in the meantime I use personal snapshot version for my JDK9 > compilation. > At the end everything compiled fine without using classpath, but how > frustrating it was to discover that I was unable to use Jlink because of > this automatic module limitation. > > If you put my experience in perspective, it means that if you depend on > tens of dependencies you'll have to wait months, even years before other > projects decide to switch to JDK9 letting use use this great Jlink feature. > IMO, if this limitation is not solved it may reatard jdk9 adoption on a lot > of projects. I guess it's easier to say than do, but having a solution to > externally add meta-data to these automatic modules (an kind of external > module-info.class) could be doable for a more advance bridge approach. > > Anyway, thanks for all the great work and your feedback. > > Antoine Sabot-Durand > > [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-March/006526.html >