From e1385daf56675fe9bfcd9ede49208cc5275e55ec Mon Sep 17 00:00:00 2001 From: Steven Hawkins Date: Wed, 14 Jan 2026 02:12:27 -0500 Subject: [PATCH] fix: changing how scripts are loaded from the classpath (#45358) (#45399) closes: #43975 (cherry picked from commit 819de5e33a8eb948696193c159879c03b4ab9637) Signed-off-by: Steve Hawkins --- .../keycloak/quarkus/deployment/KeycloakProcessor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java b/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java index 4a800a3883d..5848c7ddc07 100644 --- a/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java +++ b/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java @@ -20,6 +20,8 @@ package org.keycloak.quarkus.deployment; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Path; @@ -1041,9 +1043,13 @@ class KeycloakProcessor { // descriptor is at META-INF/ Path basePath = Path.of(url.getPath()).getParent().getParent(); + String path = basePath.resolve(fileName).toString(); + if (!path.startsWith(url.getProtocol())) { + path = url.getProtocol() + ":" + path; + } try { - return basePath.resolve(fileName).toUri().toURL().openStream(); - } catch (IOException e) { + return new URI(path).toURL().openStream(); + } catch (IOException | URISyntaxException e) { throw new RuntimeException("Failed to read script file from: " + fileName); } });