Don't add -Xverify:none to JVM args when running on Java 13
Closes gh-17008
This commit is contained in:
parent
ce2c26e934
commit
d2b28ceba5
|
@ -16,6 +16,9 @@
|
||||||
|
|
||||||
package org.springframework.boot.gradle.tasks.run;
|
package org.springframework.boot.gradle.tasks.run;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
import org.gradle.api.JavaVersion;
|
||||||
import org.gradle.api.file.SourceDirectorySet;
|
import org.gradle.api.file.SourceDirectorySet;
|
||||||
import org.gradle.api.tasks.Input;
|
import org.gradle.api.tasks.Input;
|
||||||
import org.gradle.api.tasks.JavaExec;
|
import org.gradle.api.tasks.JavaExec;
|
||||||
|
@ -69,7 +72,11 @@ public class BootRun extends JavaExec {
|
||||||
public void exec() {
|
public void exec() {
|
||||||
if (this.optimizedLaunch) {
|
if (this.optimizedLaunch) {
|
||||||
setJvmArgs(getJvmArgs());
|
setJvmArgs(getJvmArgs());
|
||||||
jvmArgs("-Xverify:none", "-XX:TieredStopAtLevel=1");
|
JavaVersion.current();
|
||||||
|
if (!isJava13OrLater()) {
|
||||||
|
jvmArgs("-Xverify:none");
|
||||||
|
}
|
||||||
|
jvmArgs("-XX:TieredStopAtLevel=1");
|
||||||
}
|
}
|
||||||
if (System.console() != null) {
|
if (System.console() != null) {
|
||||||
// Record that the console is available here for AnsiOutput to detect later
|
// Record that the console is available here for AnsiOutput to detect later
|
||||||
|
@ -78,4 +85,13 @@ public class BootRun extends JavaExec {
|
||||||
super.exec();
|
super.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isJava13OrLater() {
|
||||||
|
for (Method method : String.class.getMethods()) {
|
||||||
|
if (method.getName().equals("stripIndent")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package org.springframework.boot.maven;
|
package org.springframework.boot.maven;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -81,11 +82,22 @@ public class RunMojo extends AbstractRunMojo {
|
||||||
RunArguments jvmArguments = super.resolveJvmArguments();
|
RunArguments jvmArguments = super.resolveJvmArguments();
|
||||||
if (isFork() && this.optimizedLaunch) {
|
if (isFork() && this.optimizedLaunch) {
|
||||||
jvmArguments.getArgs().addFirst("-XX:TieredStopAtLevel=1");
|
jvmArguments.getArgs().addFirst("-XX:TieredStopAtLevel=1");
|
||||||
jvmArguments.getArgs().addFirst("-Xverify:none");
|
if (!isJava13OrLater()) {
|
||||||
|
jvmArguments.getArgs().addFirst("-Xverify:none");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return jvmArguments;
|
return jvmArguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isJava13OrLater() {
|
||||||
|
for (Method method : String.class.getMethods()) {
|
||||||
|
if (method.getName().equals("stripIndent")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void runWithForkedJvm(File workingDirectory, List<String> args, Map<String, String> environmentVariables)
|
protected void runWithForkedJvm(File workingDirectory, List<String> args, Map<String, String> environmentVariables)
|
||||||
throws MojoExecutionException {
|
throws MojoExecutionException {
|
||||||
|
|
Loading…
Reference in New Issue