#java #kotlin #android-gradle-plugin #dependencies #gradle-kotlin-dsl
Вопрос:
Build.gradle.kts
buildscript {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath ("com.android.tools.build:gradle:7.0.2")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30")
classpath("gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:${Versions.spotbugsGradlePluginVersion}")
classpath("se.bjurr.violations:violations-gradle-plugin:${Versions.violationsVersion}")
}
}
//android {
// compileOptions {
// sourceCompatibility = JavaVersion.VERSION_11
// targetCompatibility = JavaVersion.VERSION_11
// }
//
// kotlinOptions {
// jvmTarget = JavaVersion.VERSION_11.toString()
// }
//}
plugins {
`maven-publish`
`java-gradle-plugin`
`kotlin-dsl`
id ("io.gitlab.arturbosch.detekt") version ("1.18.1")
}
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
compileOnly(gradleApi())
testImplementation(gradleTestKit())
testImplementation("junit:junit:${Versions.jUnitVersion}")
}
val generatedSources = tasks.register<GenerateVersionsFileTask>("generateSources")
ОШИБКА :
задача «compileJava» (текущая цель-11) и задача «compileKotlin» (текущая цель-1,8) совместимость с целью jvm должна быть установлена на одну и ту же версию Java.
Когда я раскомментирую android {} Ошибка : Ошибки компиляции скрипта:
Line 15: android {
^ Unresolved reference: android
Спасибо за ваше время и усилия 🙂
Джитендра
Комментарии:
1. Обратите внимание, что если у вас нет источников Java (только источники Kotlin), это сообщение на самом деле вообще не должно появляться, см. также youtrack.jetbrains.com/issue/KT-48745 .
Ответ №1:
Вы можете установить версию java для java с помощью
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
или альтернативно:
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(11))
}
и для котлина с:
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
jvmTarget = "11"
}
}
Все образцы находятся в gradle kotlin dsl.