ServiceLoader.load(Class, ClassLoader) does not load services exposed in modules and loaded by parent CL

Alan Bateman Alan.Bateman at oracle.com
Wed May 23 17:04:15 UTC 2018


On 23/05/2018 16:39, Peter Levart wrote:
>
> I thought so. This is what debugger told be me about TCCL (debugger 
> calls .toString() on it by default):
>
> ClassRealm[plugin>com.marand.misc:misc-mojo-git:1.24, parent: 
> jdk.internal.loader.ClassLoaders$AppClassLoader at 1de0aca6]
>
> But now that you asked specifically, I also checked the instance and 
> evaluated .getParent() on it and got null ?! toString is a damn liar!
>
> It seems that Maven class loaders don't follow standard delegation 
> model and so JDK can't climb the chain. Sorry for not checking this 
> before. There's nothing JDK can do about it, I belive.
Which Maven plugin is this and is the latest version? The work to get 
Maven working with JDK 9 got started in 2015 so I'm surprised that there 
are still issues.

-Alan


More information about the core-libs-dev mailing list