在 Gradle 5.4 的多构建项目中,java 8 的 sourceSompatiblity 未生效

In multibuild project with Gradle 5.4, sourceSompatiblity with java 8 is not taking effect

我正在尝试使用 Gradle 5.4 和 Intellij 为某些子项目创建具有不同 java 版本的多构建项目。
首先,我更新了我所有的子项目,在 build.gradle

的开头添加了以下代码
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6

在 Intellij 中导入 Gradle 项目后,Intellij 已通过以下行更新了 iml 文件:

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6">

然后我用 java 8 而不是 Java 6 更新了一个特定的子项目,如下所示 {代码} 应用插件:'java' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = Java版本。VERSION_1_8 {代码} 但 iml 文件没有改变。我尝试了不同的东西,但似乎 gradle 忽略了 Java 8。我将 Java 8 更改为 Java 7 并且 iml 文件已更新为:

我用 java 9 和 sourceCompatibility = JavaVersion.VERSION_1_8 更新了 gradle 文件,然后 gradle 更新了所有项目以使用 java 8! 甚至将源和目标兼容性设置为 Java 1.6 的子项目。 这是一个错误还是我应该遗漏什么? 我不知道是否相关的是,当我 运行 compileJava 时,我收到以下警告:

warning: [options] bootstrap class path not set in conjunction with -source 1.6

我可以解决这个问题。问题是 Intellij Project 中的默认语言级别是 java 6。我将其更改为 Java 8。然后在主项目构建 gradle 子项目下我添加了

apply plugin: 'java'
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

然后只针对我想用Java编译它们的子项目 6,在它们的build.gradle开头我添加了

apply plugin: 'java'
    sourceCompatibility = JavaVersion.VERSION_1_6
    targetCompatibility = JavaVersion.VERSION_1_6

然后在项目的 .ipr 文件中每个 java 1.6 我得到一个字节码目标级别:

<bytecodeTargetLevel>
  <module name="common" target="1.6" />
</bytecodeTargetLevel>

并且在 java 1.6 语言级别的每个 iml 文件中添加到主要组件如下:

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6">