我是Android新手。在运行模块时,我得到以下错误:任务“:info:compileKotlin”执行失败。'compileJava'任务(当前目标为1.7)和'compileKotlin'任务(当前目标为17)jvm目标兼容性应设置为相同的Java版本。请给我解决方案我尝试在项目结构中更改Gradle插件。和gradle jdk但什么也没有发生
cbjzeqam1#
您遇到的错误消息表明为compileJava任务设置的Java目标版本与Gradle项目中的compileKotlin任务不匹配。要解决此问题,您需要确保将这两个任务配置为使用相同的Java版本。根据https://www.oracle.com/java/technologies/javase/jdk7-naming.html,在JDK 7和JRE 7中,版本字符串是1.7和1.7.0,所以你应该使用“1.7”作为Kotlin的编译目标,而不是“17”!我觉得应该是这样的:
compileJava
compileKotlin
kotlinOptions { jvmTarget = '1.7'}
kotlinOptions {
jvmTarget = '1.7'
}
ou6hu8tu2#
我可以通过使用下面的代码来解决这个问题
subprojects { afterEvaluate{ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { if (project.plugins.hasPlugin("com.android.application") || project.plugins.hasPlugin("com.android.library")) { kotlinOptions.jvmTarget = android.compileOptions.sourceCompatibility } else { kotlinOptions.jvmTarget = sourceCompatibility } } }}
subprojects {
afterEvaluate{
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
if (project.plugins.hasPlugin("com.android.application") || project.plugins.hasPlugin("com.android.library")) {
kotlinOptions.jvmTarget = android.compileOptions.sourceCompatibility
} else {
kotlinOptions.jvmTarget = sourceCompatibility
2条答案
按热度按时间cbjzeqam1#
您遇到的错误消息表明为
compileJava
任务设置的Java目标版本与Gradle项目中的compileKotlin
任务不匹配。要解决此问题,您需要确保将这两个任务配置为使用相同的Java版本。根据https://www.oracle.com/java/technologies/javase/jdk7-naming.html,在JDK 7和JRE 7中,版本字符串是1.7和1.7.0,所以你应该使用“1.7”作为Kotlin的编译目标,而不是“17”!
我觉得应该是这样的:
ou6hu8tu2#
我可以通过使用下面的代码来解决这个问题