On Mon, 22 Jun 2026 12:31:44 GMT, Du�an B�lek <[email protected]> wrote:

> `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 first 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 second problem is that top-level preview resources are not covered by the 
> package-driven preview pre-scan when the image is opened, since they have no 
> package path and the empty package is intentionally not represented under 
> `/packages`. At lookup time, all preview resources are taken from caches; 
> therefore, top-level preview resources are never returned. This affected 
> `findNode`.
> 
> The proposal here is to add the missing slash when forming preview resource 
> names in `ImageReader` and to check for top-level preview resources at lookup 
> time. 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).

This pull request has now been integrated.

Changeset: c042ad28
Author:    Du�an B�lek <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/c042ad289d10e4c2dba4371630ff82318b0aa23b
Stats:     95 lines in 2 files changed: 90 ins; 0 del; 5 mod

8386842: Preview files in root directory not recognized in system image

Reviewed-by: alanb, sherman, liach

-------------

PR: https://git.openjdk.org/jdk/pull/31609

Reply via email to