Retrieving PLATFORM_CLASS_PATH from file manager

Alan Bateman Alan.Bateman at oracle.com
Sun Sep 13 13:25:41 UTC 2015


On 12/09/2015 20:16, Jayaprakash Arthanareeswaran wrote:
>
> Hello experts,
>
> With JDK 9, some of JDT Core tests have started failing. The failing tests
> are in the JSR 199 area, where we test Eclipse's compiler in a mixed mode
> with Javac's StandardJavaFileManager.
>
> standardJavaFileManager.getLocation(StandardLocation.PLATFORM_CLASS_PATH);
>
> Until JDK 8, this used to return rt.jar and other jars but not anymore. I
> expected this to return the path to the bootmodules.jimage just like the
> system property "sun.boot.class.path".
>
The proposal is to drop sun.boot.class.path, see the "Removed: Bootstrap 
class-path options" in JEP 261 [1]. It wasn't been useful since the 
changes for JEP 220 went into JDK 9. There are a few remaining pieces to 
be done in HotSpot before we can get there, mostly in the Serviceability 
Agent and the "Compile-The-World" built-in test. The issue is tracked by 
JDK-8131049 and JDK-8077209.

To be consistent then I would think getLocation(PLATFORM_CLASS_PATH) 
would return an empty Iterable and a getLocation(SYSTEM_MODULE_PATH), or 
a Iterable<Path> variant, would return jrt:/.  I'm sure Jon will reply 
on this issue and explain JRT_MARKER_FILE (which I suspect is what you 
are wondering about).

-Alan

[1] http://openjdk.java.net/jeps/261


More information about the jigsaw-dev mailing list