Java 如何在Gradle中指定模块的JDK编译级别
我在Android项目中有一个纯Java模块。我的项目默认使用JDK 8进行编译,但我希望我的Java模块使用JDK 7进行编译。如何为纯java模块指定编译级别1.7?请记住,我不想覆盖项目级编译级别1.8。有两种方法Java 如何在Gradle中指定模块的JDK编译级别,java,android,android-studio,gradle,Java,Android,Android Studio,Gradle,我在Android项目中有一个纯Java模块。我的项目默认使用JDK 8进行编译,但我希望我的Java模块使用JDK 7进行编译。如何为纯java模块指定编译级别1.7?请记住,我不想覆盖项目级编译级别1.8。有两种方法 在主目录集合的gradle.properties中org.gradle.java.HOME=/path\u到jdk\u目录 在您的gradle.build中 compileJava.options.fork = true compileJava.options.forkOpti
gradle.properties
中org.gradle.java.HOME=/path\u到jdk\u目录
gradle.build中
compileJava.options.fork = true
compileJava.options.forkOptions.executable = /path_to_javac
//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.7
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.7
您可以指定源和目标兼容性级别。在编译Android和Java模块的混合时,经常需要这样做。您可以在
app/build.gradle
中执行以下操作:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
在Android Studio中设置java库模块的目标/源兼容性级别可以通过将以下内容添加到java库模块的build.gradle中来完成:
tasks.withType(JavaCompile) {
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
}
您可以通过两种方式执行此操作: 1-将此块添加到你的应用程序构建中。gradle
android{
....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2-使用android studio添加此块:
- 转到文件>项目结构李>
- 在模块部分中,选择您的应用程序(或其他模块)模块李>
- 将源兼容性和目标兼容性值更改为1.8
android{
....
compileOptions {
setSourceCompatibility(JavaVersion.VERSION_1_8)
setTargetCompatibility(JavaVersion.VERSION_1_8)
}
}
这个项目不是很广泛吗?这是Android特有的。我正在混合构建Java和Android模块。请阅读问题。如果您对此有任何了解,您只需在
android
部分中添加compileOptions
。