From 4486f1b72047dcdb2877cb3c9b4ca02f6cd008e9 Mon Sep 17 00:00:00 2001 From: Naoto Sato Date: Fri, 17 Mar 2023 15:44:38 +0000 Subject: [PATCH] 8304367: jlink --include-locales=* attempts to parse non .class resource files with classfile reader Reviewed-by: mchung, lancea, jpai --- .../tools/jlink/internal/plugins/IncludeLocalesPlugin.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java index fae1cba139fca..a5f9e60e175f2 100644 --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -156,7 +156,8 @@ public ResourcePool transform(ResourcePool in, ResourcePoolBuilder out) { String path = resource.path(); resource = predicate.test(path) ? resource: null; if (resource != null && - resource.type().equals(ResourcePoolEntry.Type.CLASS_OR_RESOURCE)) { + resource.type().equals(ResourcePoolEntry.Type.CLASS_OR_RESOURCE) && + path.endsWith(".class")) { byte[] bytes = resource.contentBytes(); ClassReader cr = newClassReader(path, bytes); if (Arrays.stream(cr.getInterfaces())