Hi, On Fri, Nov 6, 2015 at 1:09 AM, Alex Buckley <alex.buck...@oracle.com> wrote:
> >> > A single version of com.bar in a program is strongly presumed to be better > than multiple versions of com.bar in a program. > In Ideal world this would be perfect. But, If you use many modules from different third-parties with different release cycles, things may change and finding this single version may be impossible. > I showed elsewhere that explicit readability within a parent layer causes > class loading to behave in such a way that modules in a child layer cannot > override modules in the parent layer. That's just how the JVM works. > Sometimes that will rear its head as "consumers of M2 are locked to the > same com.bar as consumers of consumers of M2", sometimes it won't, > depending on which layers have which modules. But unlimited support for > multiple versions in all possible layer arrangements is not a goal. If goal is prevent from overriding as for methods in clesses why not use 'final': require final com.bar? -- Best Regards, Ali Ebrahimi