Where do modules go in jlink images?

Alan Bateman Alan.Bateman at oracle.com
Sun Jan 7 17:51:47 UTC 2018


On 07/01/2018 12:57, Nicolai Parlog wrote:
>   Hi!
>
> Another question about jlink (guess what chapter I'm working on ;) ).
> I've tried to find out where jlink puts the content of the jmods
> folder, but hit a wall.
>
> I created a full runtime image with jlink and diffed the file trees
> (including disk usage), but all that got me was that my image doesn't
> contain bin/jmc, jmods, lib/misssioncontrol, lib/src.zip, and
> lib/plugin-legacy.jar - all of that is expected, but where are the
> class files from the jmod archives?
>
> Now I wonder, whether these are just ornamental - does lib/modules
> contain all the bytecode? I'm confused.
>
JEP 220 describes the layout of the run-time image and may help. Many 
modules will only contain classes and resources, they will go the jimage 
container (the internal "modules" file) as Rémi said. Many of the JDK 
modules have launchers (the jdk.compiler module has the javac launcher 
for example), native library, configuration files, legal notices, man 
pages, ...  The jlink tool puts these in the locations listed in the JEP.

-Alan


More information about the jigsaw-dev mailing list