On 03/07/2018 09:28, Andy Wilkinson wrote:
I recently raised a JDK issue [1] which, when triaged, was closed as not an
issue. I think is incorrect and was advised by Dalibor Topic [2] to email
this list so here I am.
In a nutshell, it appears that when using the module path and
--patch-module, a call to ClassLoader.getResources() will only return
resources locations that are within the patch and ignores those that are in
the original module.
It's not a bug. If you patch a module to override a resource in that
module then the getResourceXXX methods will locate the resource in the
patch.
If it helps, the reason the output of the Maven project in the bug
report is confusing because the Maven Surefire plugin is run with the
classes directory on the module path and the test-classes directory on
the class path. The same resource is found in both so this is because
two resources are located. In addition, the test is using the name of a
directory so it's highly implementation specific if it will be found
anyway (the test patches an exploded module with an exploded patch and
names that locate resources can be located with both layouts).
-Alan