Módulos Kotlin + Java 9: ​​el módulo java.base no se puede encontrar en el gráfico del módulo

Tengo algunos problemas para crear un proyecto de Kotlin que utiliza funciones de Java 9. Sé que Kotlin solo permite la generación de bytecode de Java 8, pero según kotlinlang.org debería admitir esta funcionalidad desde Kotlin 1.2:

La biblioteca estándar de Kotlin ahora es totalmente compatible con el sistema de módulos Java 9, que prohíbe los paquetes divididos (múltiples archivos jar que declaran clases en el mismo paquete).

Bueno, vamos a mi problema: obtengo esto cuando intento ejecutar la buildtarea gradle :

04:29:27: Ejecutando tarea 'construir' ...

Tarea: compileKotlin FAILED e: el módulo java.base no se puede encontrar en el gráfico del módulo e: el módulo java.management no se puede encontrar en el gráfico del módulo

FALLO: Falló la compilación con una excepción.

  • Lo que salió mal: la ejecución falló para la tarea ': compileKotlin'.

    Error de compilación. Ver registro para más detalles

  • Pruebe: Ejecute con la opción --stacktrace para obtener el seguimiento de la pila. Ejecute con la opción --info o --debug para obtener más resultados de registro. Ejecute con --scan para obtener información completa.

  • Obtenga más ayuda en https://help.gradle.org

BUILD FAILED in 0s 1 tarea procesable: 1 error de compilación ejecutado. Consulte el registro para obtener más detalles 04:29:28: La ejecución de la tarea finalizó 'compilación'.

Busqué ese error en Google y encontré este tema en el que un chico tenía el mismo problema, dijo que lo solucionó al apuntar a un JDK mayor que 8, pero ya estoy con JDK 11 como SDK del proyecto y sourceCompatibility.

Les dejaré algunas partes importantes de build.gradle y la estructura del proyecto aquí para que lo inspeccionen.

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;
}

Puedo ejecutar el proyecto sin problemas en Intellij Idea, solo obtengo este error al ejecutar en gradle.

Estructura del proyecto

Respuesta 1

Lo que pretendo hacer como resultado final es que el usuario pueda escribir algo así como un cuadro de texto y una variedad de opciones para que aparezcan a medida que el usuario escribe letras. Como ejemplo, el usuario podría comenzar a escribir ...

Me gusta controlar 'sooperlooper' desde java, un looper de sonido. Esto usa el protocolo OSC. El primer intento fue la biblioteca Java OSC, pero esto no hace nada. Ahora estoy tratando de JNA para envolver liblo.so El programa que '...

Estoy tratando de codificar un programa, que lee una imagen en una imagen almacenada, la pinta en el JFrame, pinta círculos en ella y la escribe en un archivo. El siguiente código lo hará todo excepto el contenido ...

Tengo una clase que tiene una referencia estática al ApplicationContext de Spring. Necesito borrar ese contexto y ejecutar el método de destrucción de sus beans únicos cuando la clase está a punto de descargarse. Asi es ...