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

Reply via email to