[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