diff --git a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java index 315542c6bf..2f917a9111 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java @@ -28,6 +28,7 @@ import java.util.stream.Collectors; import io.spring.javaformat.gradle.FormatTask; import io.spring.javaformat.gradle.SpringJavaFormatPlugin; +import org.gradle.api.JavaVersion; import org.gradle.api.Project; import org.gradle.api.artifacts.Configuration; import org.gradle.api.artifacts.ConfigurationContainer; @@ -141,6 +142,10 @@ class JavaConventions { withOptionalBuildJavaHome(project, (javaHome) -> test.setExecutable(javaHome + "/bin/java")); test.useJUnitPlatform(); test.setMaxHeapSize("1024M"); + if (buildingWithJava8(project)) { + test.systemProperty("java.security.properties", + getClass().getClassLoader().getResource("jdk-8156584-security.properties")); + } }); project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> project.getDependencies() .add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.platform:junit-platform-launcher")); @@ -153,6 +158,10 @@ class JavaConventions { })); } + private boolean buildingWithJava8(Project project) { + return (!project.hasProperty("buildJavaHome")) && JavaVersion.current() == JavaVersion.VERSION_1_8; + } + private boolean isCi() { return Boolean.parseBoolean(System.getenv("CI")); } diff --git a/buildSrc/src/main/resources/jdk-8156584-security.properties b/buildSrc/src/main/resources/jdk-8156584-security.properties new file mode 100644 index 0000000000..2d72ee6c44 --- /dev/null +++ b/buildSrc/src/main/resources/jdk-8156584-security.properties @@ -0,0 +1 @@ +keystore.pkcs12.keyProtectionAlgorithm=PBEWithHmacSHA256AndAES_256 \ No newline at end of file