jmod and modular MR jars

Ryan Schmitt rschmitt at
Fri Oct 13 20:54:28 UTC 2017

On Fri, Oct 13, 2017 at 12:45 PM, Alan Bateman <Alan.Bateman at>

> The module path that you specify to `jlink` may contain modules that are
> packaged as modular JAR, no need to create a JMOD file when your module
> doesn't have native libraries.
> -Alan.

In the general case, I do have to worry about native libraries. I'm trying
to figure out what it would mean to add end-to-end support for fully
modularized Jigsaw applications to my company's build infrastructure, and
JMOD packaging *might* be a good default strategy for tackling that
problem. However, I'm not sure how `jmod` interacts with MR JAR files.
There are three possibilities here:

(1) I'm invoking `jmod` incorrectly. I'm using (jmod create --class-path
<MR jar file containing a module> <jmod file>`)
(2) There is a bug in `jmod` that prevents it from identifying and using
(3) `jmod`, like `javac`, intentionally disregards classes in the
META-INF/versions area

I don't see anything in JEP 238 or JEP 261 to suggest that (3) would be the
case, nor do I see any documented `jmod` flags that would be relevant to MR
jars (similar to the `--multi-release` argument to `jdeps`).

More information about the jdk9-dev mailing list