我有一个 Gradle 项目,由一个 Android 模块( com.android.library
插件应用于 build.gradle
文件)和一个 Java 模块( java
插件应用)组成 build.gradle
文件)。在 Java 模块的 build.gradle
文件中,我之前指定了源和目标兼容性,如下所示:
apply plugin: 'java'
compileJava {
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
我刚刚将项目的“Android Plugin for Gradle”和“Gradle Wrapper”版本更新到最新版本(分别为 2.2.3 和 3.2.1),我现在在 Java 模块中看到如下警告:
Access to 'sourceCompatibility' exceeds its access rights
Access to 'targetCompatibility' exceeds its access rights
如果我将 sourceCompatibility
和 targetCompatibility
声明移动到模块的根级别 build.gradle
文件如下…
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
… 然后我收到警告消息,告诉我未使用分配。
在最新的 Gradle 版本中指定 Java 模块的源和目标兼容级别的正确方式是什么?
原文由 Adil Hussain 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为最后一个(根中的声明)是正确的,它必须正常工作,尽管它会在 IDE 中引起警告。无处可说,声明它的首选方式是什么, 官方文档 中只有一个示例,它用作:
在
build.gradle
的根目录中。