的scalac编译器有特殊的参数
-javabootclasspath 路径
覆盖Java的引导类路径。
-javaextdirs path
覆盖Java extdirs类路径。
你必须使用additionalParameters参数
这种方法并不需要分叉
allprojects {
tasks.withType(ScalaCompile) {
if (sourceCompatibility == '1.7') {
scalaCompileOptions.with {
def jdk7rt = new File("$System.env.JAVA7_HOME", "jre/lib/rt.jar").canonicalPath
def jdk7ext = new File("$System.env.JAVA7_HOME", "jre/lib/ext").canonicalPath
additionalParameters = ["-javabootclasspath $jdk7rt".toString(), "-javaextdirs $jdk7ext".toString()]
}
}
}
}
我用我的操作系统与JVM这种方法通过从gradle这个斯卡拉插件的参数1.7作为默认值编译JDK8某些需要javafx8的子项目。所以它应该适用于你的情况。