diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java index 063d3daeafde6..8475baea7d1c9 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java @@ -13,6 +13,7 @@ static final class Version implements Comparable { static final Version UNVERSIONED = new Version("Undefined", -1, -1, Distribution.ORACLE); static final Version VERSION_20_3 = new Version("GraalVM 20.3", 20, 3, Distribution.ORACLE); static final Version VERSION_21_0 = new Version("GraalVM 21.0", 21, 0, Distribution.ORACLE); + static final Version VERSION_21_1 = new Version("GraalVM 21.1", 21, 1, Distribution.ORACLE); static final Version MINIMUM = VERSION_20_3; static final Version CURRENT = VERSION_21_0; @@ -49,6 +50,10 @@ boolean isNewerThan(Version version) { return this.compareTo(version) > 0; } + boolean isOlderThan(Version version) { + return this.compareTo(version) < 0; + } + @Override public int compareTo(Version o) { if (major > o.major) { diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java index b5eaa22e5a9c1..88031ac921ac7 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java @@ -656,7 +656,8 @@ public NativeImageInvokerInfo build() { if (!protocols.isEmpty()) { nativeImageArgs.add("-H:EnableURLProtocols=" + String.join(",", protocols)); } - if (enableAllSecurityServices) { + if (enableAllSecurityServices && graalVMVersion.isOlderThan(GraalVM.Version.VERSION_21_1)) { + // This option was removed in GraalVM 21.1 https://github.com/oracle/graal/pull/3258 nativeImageArgs.add("--enable-all-security-services"); } if (inlineBeforeAnalysis) {