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); } });