У меня возникли проблемы при создании проекта Kotlin, использующего функции Java 9. Я знаю, что kotlin просто позволяет генерировать байт-код Java 8, но согласно kotlinlang.org он должен поддерживать эту функцию, начиная с Kotlin 1.2:
The Kotlin standard library is now fully compatible with the Java 9 module system, which forbids split packages (multiple jar files declaring classes in the same package).
Что ж, давайте перейдем к моей проблеме: я получаю это, когда пытаюсь выполнить задачу gradle build:
04:29:27: Executing task 'build'...
Task :compileKotlin FAILED e: Module java.base cannot be found in the module graph e: Module java.management cannot be found in the module graph
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':compileKotlin'.
Compilation error. See log for more details
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 0s 1 actionable task: 1 executed Compilation error. See log for more details 04:29:28: Task execution finished 'build'.
Я искал эту ошибку в Google и нашел Эта тема, где у парня была такая же проблема, он сказал, что исправил ее, нацелившись на JDK больше 8, но я уже использую JDK 11 в качестве SDK проекта и sourceCompatibility.
Я оставлю здесь некоторые важные части build.gradle и структуры проекта, чтобы вы, ребята, могли их изучить.
build.gradle
buildscript {
ext.kotlin_version = '1.3.21'
...
repositories { ... }
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.9.17"
}
}
plugins {
...
}
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'maven'
group 'io.github.dogobot.core'
version '4.0.0'
...
sourceCompatibility = 1.11
repositories {
mavenCentral()
jcenter()
maven { ... }
maven { ... }
maven {
url 'http://maven.ej-technologies.com/repository'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
...
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
модуль-info.java
module io.github.dogobot.core {
requires kotlin.stdlib;
requires kotlin.reflect;
requires kotlin.logging;
requires java.management;
requires BootingBits;
}
Я могу без проблем запустить проект на Intellij Idea, просто получаю эту ошибку при выполнении на gradle.




Я изменил свой gradle jdk с JDK 8 на JDK 11, и теперь он работает как шарм.
В моем случае я дважды проверил это для нового проекта, который я только что импортировал с этой ошибкой. Все было установлено правильно. Перезапуск IntelliJ устранил ошибку.
Это сработало и для меня, но в Maven. Изменил целевой jdk с 1,8 до 11, и это сработало.