On 26/07/2015 01:29, Michael Hall wrote:
On Jul 25, 2015, at 12:10 PM, Alan Bateman <alan.bate...@oracle.com> wrote:


Just a heads-up that jdk9-b74 has a refresh of the jimage and jrt file system 
implementation.
Have mostly just been following along on this a little with the early access 
releases. I was a little curious on this though so I cloned and built current 
jdk9.
I have a simple jrt filesystem lister that I tried running getting…

~/jdk9/build/macosx-x86_64-normal-server-release/jdk/bin/java -cp . JRTLister
java.nio.file.FileSystemNotFoundException: 
/Users/mjh/jdk9/build/macosx-x86_64-normal-server-release/jdk/lib/modules/bootmodules.jimage
        at jdk.internal.jrtfs.JrtFileSystem.checkExists(JrtFileSystem.java:87)
        at jdk.internal.jrtfs.JrtFileSystem.<init>(JrtFileSystem.java:102)
        at 
jdk.internal.jrtfs.JrtFileSystemProvider$1.<init>(JrtFileSystemProvider.java:113)
        at 
jdk.internal.jrtfs.JrtFileSystemProvider.getTheFileSystem(JrtFileSystemProvider.java:113)
        at 
jdk.internal.jrtfs.JrtFileSystemProvider.getFileSystem(JrtFileSystemProvider.java:131)
        at java.nio.file.FileSystems.getFileSystem(FileSystems.java:221)
        at JRTLister.main(JRTLister.java:13)

Obviously finding JrtFileSystem but not modules/bootmodules.jimage?

Replace jdk/bin/java with images/jdk/bin/java in your path above and I expect it should work.

The jdk directory in the build output is the "exploded build". It's an intermediate step in the build before the JDK and JRE images are created. Many people working on the JDK use the exploded builds for quick edit-build-debug sessions and local testing but I don't think is used much beyond that.

JDK-8066860 [1] is tracking an update to the jrt file system to support exploded builds. Sundar has an initial patch but it's not in JDK 9 yet.

-Alan

[1] https://bugs.openjdk.java.net/browse/JDK-8066860

Reply via email to