Я пытаюсь скомпилировать проект Kotlin с помощью gradle, чтобы его можно было запустить с java 1.8. На моей машине установлен jdk14.
Мне нужны ошибки компиляции, если я случайно использую java 11 API, таких как Optional.orElseThrow ()
Я пробовал:
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
Это будет правильно генерировать ошибки если кодированный Java использует новые API, однако код Kotlin с радостью продолжит их использовать
Я также пытался, как подсказал этот вопрос :
compileKotlin {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
kotlinOptions {
jvmTarget = "1.8"
}
}
Но это, кажется, не имеет значения