diff --git a/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java b/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java index 1cf4a3193d49e..10da61c377cef 100644 --- a/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java +++ b/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java @@ -70,6 +70,9 @@ public class NativeImageMojo extends AbstractMojo { @Parameter(defaultValue = "false") private boolean enableJni; + @Parameter(defaultValue = "false") + private boolean autoServiceLoaderRegistration; + @Parameter(defaultValue = "false") private boolean dumpProxies; @@ -182,12 +185,21 @@ public void execute() throws MojoExecutionException, MojoFailureException { if (enableVMInspection) { command.add("-H:+AllowVMInspection"); } + if (autoServiceLoaderRegistration) { + command.add("-H:+UseServiceLoaderFeature"); + //When enabling, at least print what exactly is being added: + command.add("-H:+TraceServiceLoaderFeature"); + } + else { + command.add("-H:-UseServiceLoaderFeature"); + } if (fullStackTraces) { command.add("-H:+StackTrace"); } else { command.add("-H:-StackTrace"); } + System.out.println(command); Process process = Runtime.getRuntime().exec(command.toArray(new String[0]), null, outputDirectory); new Thread(new ProcessReader(process.getInputStream(), false)).start();