当前位置: 首页 > 知识库问答 >
问题:

在Gradle5.4的multibuild项目中,Java8的SourceCompatibility没有生效

尹凌龙
2023-03-14
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6">

我用sourcecompatibility=javaversion.version_1_8用java 9更新了gradle文件,然后gradle将所有项目更新为使用java 8!即使是将源代码和目标兼容性设置为Java1.6的子项目。这是一个窃听器还是我漏了什么?我不知道是否与此相关的一点是,当我运行compileJava时,我会收到以下警告:

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

共有1个答案

夏侯腾
2023-03-14

我能解决这个问题。问题是Intellij项目的默认语言级别是Java6。我把它改成了Java8。然后,在主项目构建阶段,在子项目下,我添加了

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

然后只针对我想要用Java6编译的子项目,在它们的构建开始时。我添加了Gradle

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

然后,在项目的.ipr文件中,对于每个Java1.6我都有一个ByteCodeTargetLevel:

<bytecodeTargetLevel>
  <module name="common" target="1.6" />
</bytecodeTargetLevel>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6">
 类似资料:
  • 问题内容: 我的机器上安装了Java 6和7。Gradle使用1.7(使用选中)。但是我需要编译代码以与Java 1.6兼容。据我了解的文档,我可以使用属性来实现(并间接使用,默认为 )。 因此,我将以下行添加到了我的构建文件中(在根级别,而不是在任何闭包中): (确保在某些试验中我也添加了,但这应该没有什么不同) 为了检查结果是否实际上与1.6兼容,我将产生的jar解压缩到文件夹中,并在遇到的第

  • 我有一个使用Java8特性的android库项目,即通过 任何帮助都是非常感谢的!谢了。

  • 有没有用nuxt3写的开源的项目?像thinkcmf那样的,前后台都有的?

  • 我不想为Android和iOS创建一个移动游戏,也不想让这个游戏只在移动设备上运行(没有平板电脑、电视、手表……)。 我在Unity上工作,而在iOS上,我只是找到了“目标设备:仅限iPhone”按钮。

  • 我正在尝试使用,要做到这一点,我必须通过他们的。我目前也在使用NetBeans,据我所知,它应该与它们以后的版本(后来的意思是6.5)一起提供,但是在创建项目时,我没有这样的选项来使用maven。 另外,我检查了插件,那里没有maven插件,我需要手动安装插件吗? 感谢任何回复!