On 26/10/2016 16:53, Thomas Watson wrote:
:
If you are mapping your own custom class loaders using
Layer.defineModules(Configuration, Function<String, ClassLoader>) then you
need to be sure to override the method ClassLoader.findResource(String,
String) for your custom class loaders when running on Java 9. Otherwise
you will find Class.getResource always returning null. Sorry if this is
widely known here, but it surprised me.
(I've changed the subject line as this is not related to the patch to
add support for naming class loaders).
If you are upgrading an existing class loader to support load of classes
and resources from modules then you need to override the 2-arg findClass
and 2-arg findResource methods. Both methods do have javadoc to say this
(but you are right, you have to go look for it). Note that there is
deliberately no subtype of ClassLoader defining these two as abstract
methods, ditto for an interface that would add this support.
-Alan