Модули Kotlin + Java 9: ​​модуль java.base не найден в графе модулей - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть некоторые проблемы при создании проекта 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.

Project Structure

1 Ответ

0 голосов
/ 24 февраля 2019

Я изменил свой Gradle JDK с JDK 8 на JDK 11, и теперь он работает как шарм.

...