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]

Reply via email to