diff --git a/sdks/java/io/hadoop-format/build.gradle b/sdks/java/io/hadoop-format/build.gradle index 73fc44a0f311..83dfcf22d86d 100644 --- a/sdks/java/io/hadoop-format/build.gradle +++ b/sdks/java/io/hadoop-format/build.gradle @@ -202,3 +202,24 @@ static def createTaskNames(Map hadoopVersions, String suffix) { .map{num -> "runHadoopFormatIO$num$suffix"} .collect(Collectors.toList()) } + +def testJavaVer = project.findProperty('testJavaVersion') ?: JavaVersion.current().getMajorVersion() +def isJava17OrHigher = testJavaVer.toInteger() >= 17 + +tasks.withType(Test).configureEach { + if (isJava17OrHigher) { + systemProperty 'java.security.manager', 'allow' + } + // Open and export modules for embedded Cassandra and Elasticsearch under Java 17+ + jvmArgs '--add-exports=java.base/sun.nio.ch=ALL-UNNAMED', + '--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED', + '--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED', + '--add-opens=java.base/sun.nio.ch=ALL-UNNAMED', + '--add-opens=java.base/java.lang=ALL-UNNAMED', + '--add-opens=java.base/java.util=ALL-UNNAMED', + '--add-opens=java.base/java.util.concurrent=ALL-UNNAMED', + '--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED', + '--add-opens=java.base/java.io=ALL-UNNAMED', + '--add-opens=java.base/java.net=ALL-UNNAMED', + '--add-opens=java.base/java.nio=ALL-UNNAMED' +}