Browse Source

Polish "Default to optimized launch of the JVM when using spring-boot:run"

Closes gh-16941
pull/16972/head
Stephane Nicoll 7 years ago
parent
commit
4cdb5a8ecb
  1. 1
      spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/invoker.properties
  2. 5
      spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy
  3. 21
      spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java

1
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/invoker.properties

@ -0,0 +1 @@ @@ -0,0 +1 @@
invoker.goals=clean verify -X

5
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy

@ -1,3 +1,6 @@ @@ -1,3 +1,6 @@
import static org.junit.Assert.assertTrue
def file = new File(basedir, "build.log")
return file.text.contains("I haz been run from '$basedir'")
assertTrue file.text.contains("I haz been run from '$basedir'")
assertTrue file.text.contains("JVM argument(s): -Xverify:none -XX:TieredStopAtLevel=1")

21
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java

@ -19,7 +19,6 @@ package org.springframework.boot.maven; @@ -19,7 +19,6 @@ package org.springframework.boot.maven;
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -55,8 +54,12 @@ public class RunMojo extends AbstractRunMojo { @@ -55,8 +54,12 @@ public class RunMojo extends AbstractRunMojo {
*/
private Boolean hasDevtools;
/**
* Whether the JVM's launch should be optimized.
* @since 2.2.0
*/
@Parameter(property = "optimizedLaunch", defaultValue = "true")
private boolean optimizedLaunch = true;
private boolean optimizedLaunch;
@Override
@Deprecated
@ -72,13 +75,19 @@ public class RunMojo extends AbstractRunMojo { @@ -72,13 +75,19 @@ public class RunMojo extends AbstractRunMojo {
}
}
@Override
protected RunArguments resolveJvmArguments() {
RunArguments jvmArguments = super.resolveJvmArguments();
if (isFork() && this.optimizedLaunch) {
jvmArguments.getArgs().addFirst("-XX:TieredStopAtLevel=1");
jvmArguments.getArgs().addFirst("-Xverify:none");
}
return jvmArguments;
}
@Override
protected void runWithForkedJvm(File workingDirectory, List<String> args,
Map<String, String> environmentVariables) throws MojoExecutionException {
if (this.optimizedLaunch) {
String[] optimizedLaunchArgs = { "-Xverify:none", "-XX:TieredStopAtLevel=1" };
Collections.addAll(args, optimizedLaunchArgs);
}
int exitCode = forkJvm(workingDirectory, args, environmentVariables);
if (exitCode == 0 || exitCode == EXIT_CODE_SIGINT) {
return;

Loading…
Cancel
Save