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 7b08875c5ad99..f52639b29d09d 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 @@ -890,13 +890,15 @@ public NativeImageInvokerInfo build() { addExperimentalVMOption(nativeImageArgs, "-H:+AllowVMInspection"); } + List monitoringOptions = new ArrayList<>(); + monitoringOptions.add(NativeConfig.MonitoringOption.HEAPDUMP); if (nativeConfig.monitoring().isPresent()) { - List monitoringOptions = nativeConfig.monitoring().get(); - if (!monitoringOptions.isEmpty()) { - nativeImageArgs.add("--enable-monitoring=" + monitoringOptions.stream() - .map(o -> o.name().toLowerCase(Locale.ROOT)).collect(Collectors.joining(","))); - } + monitoringOptions.addAll(nativeConfig.monitoring().get()); } + nativeImageArgs.add("--enable-monitoring=" + monitoringOptions.stream() + .distinct() + .map(o -> o.name().toLowerCase(Locale.ROOT)).collect(Collectors.joining(","))); + if (nativeConfig.autoServiceLoaderRegistration()) { addExperimentalVMOption(nativeImageArgs, "-H:+UseServiceLoaderFeature"); //When enabling, at least print what exactly is being added: