Review request for JDK-6760902: inconsistent behavior in bootstrap class loader for classes and resources

Paul Sandoz paul.sandoz at oracle.com
Thu Jan 16 15:39:28 UTC 2014


On Jan 16, 2014, at 2:27 AM, Mandy Chung <mandy.chung at oracle.com> wrote:

> There is an inconsistency in searching classes vs resources if bootclasspath contains an empty path.  Empty path on bootclasspath is skipped by the bootstrap class loader when searching classes while it defaults to current working directory when searching resources as the application class loader.

Just curious, where is the code that skips empty paths in the bootclasspath when loading classes? Is that in the VM?


>  This fixes sun.misc.Launcher to skip empty path when constructing the paths from bootclasspath for resource lookup.
> 
> Webrev at:
> http://cr.openjdk.java.net/~mchung/jdk9/webrevs/6760902/webrev.00/
> 

Perhaps it is better to merge GetResource2.sh into GetResource.sh.

I am so tempted to change this too :-)

 423                 if (pos - lastPos > 0) {

Paul.


> There is some incompatibility risk that may impact existing code depending on this behavior to search resources from the current working directory if empty path (rather than explicit) is set.  I think most application using bootclasspath is to add their paths to load their classes and likely expect the resources are looked in the consistent way (i.e. skips the empty path).  So I expect the incompatibility risk is low.
> 
> thanks
> Mandy



More information about the core-libs-dev mailing list