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