From 659b53fe33eaa531bca1951a26f357b51902311e Mon Sep 17 00:00:00 2001 From: Alexey Semenyuk Date: Sat, 10 Jan 2026 15:04:16 +0000 Subject: [PATCH] 8374923: runtime/cds/ServiceLoaderTest.java fails with mismatch between cds and non-cds Reviewed-by: almatvee --- .../classes/jdk/jpackage/internal/cli/Main.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java index 519958d9ff7..31be2bb33c5 100644 --- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java +++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/cli/Main.java @@ -64,7 +64,7 @@ public final class Main { } public Provider() { - this(Main::loadBundlingEnvironment); + this(DefaultBundlingEnvironmentLoader.INSTANCE); } @Override @@ -104,7 +104,7 @@ public final class Main { } static int run(PrintWriter out, PrintWriter err, String... args) { - return run(Main::loadBundlingEnvironment, out, err, args); + return run(DefaultBundlingEnvironmentLoader.INSTANCE, out, err, args); } static int run(Supplier bundlingEnvSupplier, PrintWriter out, PrintWriter err, String... args) { @@ -310,9 +310,14 @@ public final class Main { return System.getProperty("java.version"); } - private static CliBundlingEnvironment loadBundlingEnvironment() { - return ServiceLoader.load( - CliBundlingEnvironment.class, - CliBundlingEnvironment.class.getClassLoader()).findFirst().orElseThrow(); + private enum DefaultBundlingEnvironmentLoader implements Supplier { + INSTANCE; + + @Override + public CliBundlingEnvironment get() { + return ServiceLoader.load( + CliBundlingEnvironment.class, + CliBundlingEnvironment.class.getClassLoader()).findFirst().orElseThrow(); + } } }