Le 28/01/2026 à 12:34, Romain Manni-Bucau a écrit :
this assumption is wrong since we already have multiple shades with the same
names
If shade means fat-jar, they are incompatible with Java modules since
I'm not aware of any way to merge multiple `module-info.class` files
into a single one without altering the semantic. Fat JAR will have to
stop in a modular world.
excludes are not in the files anyway so JPMS will never solve any
dependency issue from a build perspective
When exclusions are used for resolving version conflicts, this is part
of "Maven would be needed only if we want complementary information such
as version numbers" in my previous email.
If exclusions are used for something else than version conflicts, it is
not applicable anymore (except maybe for excluding services). If a
non-optional dependency required directly or transitively in a
module-info is not on the module path, the JVM refuses to start.
plus the dependency is reversed, the build needs to inject deps not
the opposite.
Injecting a dependency has no effect if not required in a `module-info`,
or not used by a service in a `module-info`, or if an `--add-read` or
`--add-module` option is not added. So either the information is present
in `module-info`, or either the user must have this information in some
other way for providing the options.
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]