У меня есть некоторые проблемы при создании проекта Kotlin, который использует функции Java 9.Я знаю, что kotlin просто позволяет генерировать байт-код Java 8, но в соответствии с kotlinlang.org он должен поддерживать эту функцию, поскольку Kotlin 1.2:
Стандартная библиотека Kotlin теперь полностью совместима сМодульная система Java 9, которая запрещает разделение пакетов (несколько jar-файлов, объявляющих классы в одном и том же пакете).
Что ж, позвольте моей проблеме: я получаю это, когда пытаюсь выполнить gradle build
task:
04: 29: 27: Выполнение задачи 'build' ...
Task: compileKotlin FAILED e: Модуль java.base не найден вГраф модуля e: модуль java.management не может быть найден в графе модулей
НЕИСПРАВНОСТЬ: сборка завершилась с исключением.
Что пошло не так: сбой выполнениядля задачи ': compileKotlin'.
Ошибка компиляции.Более подробную информацию смотрите в журнале
Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека.Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.Запустите с параметром --scan, чтобы получить полную информацию.
Получите дополнительную справку по https://help.gradle.org
СБОЙ СОСТАВА в 0s 1 выполняемое задание: 1 выполнено Ошибка компиляции,Подробнее смотрите в журнале 04:29:28: Выполнение задачи завершено «сборка».
Я искал эту ошибку в Google и нашел эту тему , где у парня было то же самоепроблема, он сказал, что исправил это, нацелив JDK больше чем на 8, но я уже использую JDK 11 в качестве проекта SDK и sourceCompatibility
.
Я оставлю некоторые важные части build.gradle и projectструктура здесь для вас, ребята, проверить его.
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"
}
module-info.java
module io.github.dogobot.core {
requires kotlin.stdlib;
requires kotlin.reflect;
requires kotlin.logging;
requires java.management;
requires BootingBits;
}
Я могу запустить проект без проблем на IntellijИдея, просто получите эту ошибку при выполнении на Gradle.