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 f52639b29d09db..a180c416e09c47 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 @@ -796,6 +796,11 @@ public NativeImageInvokerInfo build() { "-H:BuildOutputJSONFile=" + nativeImageName + "-build-output-stats.json"); } + // only available in GraalVM 23.1.0+. Expected to become the default in GraalVM 24.0.0. + if (graalVMVersion.compareTo(GraalVM.Version.VERSION_23_1_0) >= 0) { + nativeImageArgs.add("--strict-image-heap"); + } + /* * Any parameters following this call are forced over the user provided parameters in * quarkus.native.additional-build-args. So if you need a parameter to be overridable through diff --git a/core/deployment/src/main/java/io/quarkus/deployment/steps/NativeImageFeatureStep.java b/core/deployment/src/main/java/io/quarkus/deployment/steps/NativeImageFeatureStep.java index bf8db1fa849531..d2284c56d422f8 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/steps/NativeImageFeatureStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/steps/NativeImageFeatureStep.java @@ -49,7 +49,7 @@ public class NativeImageFeatureStep { @BuildStep void addExportsToNativeImage(BuildProducer features) { // required in order to access org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport - // prior to 23.1 the class was provided by org.graalvm.sdk module and with 23.1 onwards, it's provided by org.graalvm.nativimage instead + // prior to 23.1 the class was provided by org.graalvm.sdk module and with 23.1 onwards, it's provided by org.graalvm.nativeimage instead features.produce(new JPMSExportBuildItem("org.graalvm.sdk", "org.graalvm.nativeimage.impl", null, GraalVM.Version.VERSION_23_1_0)); features.produce(new JPMSExportBuildItem("org.graalvm.nativeimage", "org.graalvm.nativeimage.impl",