On passing --date to jrt-fs jar at build time

Alan Bateman alan.bateman at oracle.com
Tue Apr 1 08:27:21 UTC 2025


On 01/04/2025 08:52, Galder Zamarreno wrote:
>
>
>     I'm not sure what "test harness" and "test jar" means here but
>     just to say that jrt-fs.jar is in the JDK run-time.
>
>
> ^ Are you sure? The default make target, `exploded-image`, doesn't 
> build the jrt-fs.jar. Aside from `test`, `images` does build the jar.
>
>     When an IDE running on JDK X needs to build/run a project for
>     target JDK Y then it will use the jrt file system to access the
>     classes in the target JDK. jrt-fs.jar is the provider
>     implementation that JDK X will load to do this.
>
>
> If the jar does not mean, seems like an exploded image jdk won't work 
> for ^?

jrtfs provides access, via the file system API and provider mechanism, 
to the classes/resources in the "current" run-time image. It handles 
exploded builds and images builds.

jrtfs also provides access to the classes/resources in a remote/target 
JDK, think IDE running on JDK $X but targeting JDK $Y. Creating a jrtfs 
file system on JDK $X with home=JDK $Y will load the file system 
proivider from JDK $Y jrt-fs.jar. This is why the classes in jrt-fs.jar 
are compiled --release 8.

I think you are asking why the exploded build doesn't include 
jrt-fs.jar. I suppose it could but the exploded build is just an interim 
step in the JDK build and not something that a vendor would ship. If 
there were a strong need for an IDE running on JDK $X to target an 
exploded build of JDK $Y then it can be made it work but it seems a less 
interesting setup.

Hopefully it is starting to be clear that jrt-fs.jar is not tied to 
testing the JDK, it is needed in an images build to support IDEs (and 
other tools) that target the JDK.

-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20250401/da5a5faa/attachment.htm>


More information about the build-dev mailing list