[英]Compile a JDK 8 project + a JDK 9 "module-info.java" in Gradle
[英]How to specify the JDK compile level of a module in Gradle
我在Android项目中有一个纯Java模块。 我的项目默认使用JDK 8进行编译,但是我希望Java模块使用JDK 7进行编译。如何为我的纯Java模块指定1.7的编译级别? 请记住,我不想覆盖项目级别的编译级别1.8。
您可以通过两种方式执行此操作:
1-将此块添加到您的应用程序build.gradle
android{
....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2-使用android studio添加此块:
更新:
注意:如果您使用kotlin作为Gradle语言(kotlin dsl),则应采用以下方式:
android{
....
compileOptions {
setSourceCompatibility(JavaVersion.VERSION_1_8)
setTargetCompatibility(JavaVersion.VERSION_1_8)
}
}
我找到了答案:
//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.7
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.7
您可以指定源和目标兼容性级别。 混合使用Android和Java模块时,通常需要这样做。
两种方式
在gradle.properties
的gradle.properties中,设置org.gradle.java.home=/path_to_jdk_directory
在您的gradle.build
compileJava.options.fork = true compileJava.options.forkOptions.executable = /path_to_javac
可以通过将其添加到Java库模块的build.gradle中来设置Android Studio中Java库模块的目标/源兼容性级别:
tasks.withType(JavaCompile) {
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
}
您可以对app/build.gradle
执行以下app/build.gradle
:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.