excluding transitive module

Jochen Theodorou blackdrag at gmx.org
Wed Apr 15 07:00:20 UTC 2020


On 14.04.20 19:38, Alex Buckley wrote:
[...]
> It's fine for
> Library1 to require SharedApi, and for Library2 to require
> SharedApiImpl, but if the exported packages overlap, then it's not fine
> for Project to require, indirectly, both SharedApi (via Library1) and
> SharedApiImpl (via Library2). That is, SharedApi and SharedApiImpl are
> not composable.

And what do you do when you are in that situation?

> If you had put them both on the classpath in JDK 8, then
> you would have had a broken system. If you want to compose an
> application that includes both, then one of them has to change.
> There is no need to speak of "transitive" modules because `requires
> transitive` has not entered the picture.

Without the module system I can just exclude one and be fine. With
module system I get into a split package problem adn have not found a
real solution yet

bye Jochen



More information about the jigsaw-dev mailing list