On 12/10/2015 21:44, Nicolai Parlog wrote:
:

For the first layer 'parentLayer' is 'Layer.boot()', for the second
it's the first.
Can you paste in the code that creates the ModuleClassLoader for the second Layer? I'm curious to see if you have used the 2-arg constructor to specify the first as the parent.


Then I add a read edge from the module that runs all this to the one
in the second layer that contains the code I actually want to execute.
Finally I access the code I actually want to run (in the second layer)
and invoke it. I then get a NoClassDefFoundError for a class that is
present in the first layer.

I tried adapting the 'parentLayer' to be used as the 'beforeFinder' in
'Configuration.resolve' instead of 'ModuleFinder.empty()' but that
gave me a 'LayerInstantiationException' ("Module java.base is already
defined").

The beforeFinder is for overriding a module with a different version. It sounds like you have ended up trying to override the modules in the boot layer and you probably don't want to do that.

-Alan.

Reply via email to