[External] : Re: Inconsistency with service loading by layer or by class loader
Alan Bateman
alan.bateman at oracle.com
Mon Dec 16 10:59:11 UTC 2024
On 16/12/2024 10:12, Andrew Dinn wrote:
> :
>
> That's because most libraries are going to need to rely on at least
> one other library, maybe several,-- probably written by a third
> party,-- those libraries likely depend on other libraries, and so on.
> Making the new library 'work on the module path' requires making the
> full closure 'work' i.e. for almost all (non-leaf) library developers
> requires large-scale, co-ordinated changes by multiple developers who
> usually do not even know of each others existence. As a further
> complication, many libraries in the chain, especially leaf libraries,
> will be in maintenance mode and no one will be interested in
> performing even the most minor refactoring.
Just to jump in here and say that the motivation for automatic modules
was to allow top-down migration. A JAR file can move from the class path
to the module and work as a named module. An unmaintained library might
not have a name so a name will be assigned. I've seen experiments
suggesting >90% libraries can move without issues. So not perfect but
this is an approach to allow moving to the module path without needing
to wait for everything that you recursively depend on to migrate to
explicit modules.
-Alan
More information about the jigsaw-dev
mailing list