`ImageReader` fails to locate preview resources in a module’s top-level directory. A resource stored as `META-INF/preview/file.txt` should be exposed in preview mode as `file.txt` matching how nested preview resources such as `META-INF/preview/directory/file.txt` are exposed as `directory/file.txt`.
The problem is that the preview resource lookup path is constructed by concatenating `META-INF/preview` and the requested resource path without an intervening `/`. As a result, looking up `file.txt` in preview mode searches for `META-INF/previewfile.txt` instead of `META-INF/preview/file.txt`. This affected both `findResourceNode` and `containsResource`. The proposal here is to add the missing slash when forming preview resource names in `ImageReader`. This allows top-level preview resources to be found and to override their non-preview counterparts when preview mode is enabled. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - 8386842: Preview files in root directory not recognized in system image Changes: https://git.openjdk.org/jdk/pull/31609/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31609&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8386842 Stats: 27 lines in 2 files changed: 23 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jdk/pull/31609.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31609/head:pull/31609 PR: https://git.openjdk.org/jdk/pull/31609
