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