On 04/11/2015 07:45, Jeroen Frijters wrote:
:
In your JavaOne talk you also mentioned "[no] duplication of exported packages", but the
real restriction (at least in the current builds) seems to be "no duplication of packages (in
the same layer)".
Can you confirm this?
Not quite, the requirement is that a module M cannot read two or modules
that export the same package to M. This is one of the checks when
creating a configuration:
http://cr.openjdk.java.net/~mr/jigsaw/spec/api/java/lang/module/Configuration.html#resolve-java.lang.module.ModuleFinder-java.lang.reflect.Layer-java.lang.module.ModuleFinder-java.util.Collection-
Instantiating a configuration as a Layer requires that you don't map two
modules with the same package to the same class loader. More on this here:
http://cr.openjdk.java.net/~mr/jigsaw/spec/api/java/lang/reflect/Layer.html#create-java.lang.module.Configuration-java.lang.reflect.Layer.ClassLoaderFinder-
I think some of the chatter here has been specific to the boot layer
where all modules on the application module path are mapped to the
application class loader.
-Alan