No jrt-fs.jar in JRE?
Alan Bateman
Alan.Bateman at oracle.com
Mon May 30 07:17:17 UTC 2016
On 30/05/2016 07:47, Jayaprakash Arthanareeswaran wrote:
> I got hold of a recent JRE build (jre-9-ea+118) and noticed two things that
> were different from the previous JDK builds:
>
> 1. There's no jrt-fs.jar. Is this expected? We have use for this for couple
> of work around - (a) to recognized this is a JDK/JRE 9 and (b) to get the
> class loader and eventually the system libraries.
> Is there a way around this?
To date, then jrt-fs.jar has only been copied into the JDK build.
JDK-8153079 [1] tracks examining whether it should be in all runtime
images so as to support cross compilation cases (meaning `java -system
...`). Those creating small runtimes with jlink will probably want to
leave it out of course.
In any case, modules completely blurs the historical distinction between
what we used to know as the JRE and JDK. You can use the jlink tool to
create runtime images that a mix of API and tool modules, it might have
user libraries and applications too. For introspection purposes, the
`release` file in the top-level directory has a key named "MODULES" with
the names of the modules that the runtime image contains. The MODULES
key is documented in JEP 220. Also just to say that the `release` file
was specifically introduced in JDK 7 to allow IDEs and other tools to
get information about a target JDK/runtime without needing to invoke
anything in the target runtime.
If you really really need some way to distinguish a JRE and JDK then
checking if the jdk.compiler module is in the list of module names. This
is very crude of course because you can use jlink to create a custom
runtime image that has the jdk.compiler module.
I'm curious what you mean by "(b) to get the class loader" as there is
no information to know which modules are mapped to which class loaders.
>
> 2. I don't see any jimage file or jmod files but just one file named
> "modules" without an extension.
>
That is correct, there is one jimage container file named "modules" now.
-Alan
[1] https://bugs.openjdk.java.net/browse/JDK-8153079
More information about the jigsaw-dev
mailing list