gpt4 book ai didi

java - Kotlin + Java 9 模块 : Module java. 在模块图中找不到基础

转载 作者:行者123 更新时间:2023-11-30 01:54:51 37 4
gpt4 key购买 nike

我在构建使用 Java 9 功能的 Kotlin 项目时遇到一些问题。我知道 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

失败:构建因异常而失败。

  • 出了什么问题:任务“:compileKotlin”执行失败。

    Compilation error. See log for more details

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • 获取更多帮助:https://help.gradle.org

在 0 秒内构建失败 1 个可操作任务:执行了 1 个编译错误。 有关更多详细信息,请参阅日志 04:29:28:任务执行完成“构建”。

我在 Google 上搜索了该错误,发现 this topic一个人遇到了同样的问题,他说他通过定位大于 8 的 JDK 来修复它,但我已经使用 JDK 11 作为项目 SDK 和 sourceCompatibility .

我将把 build.gradle 和项目结构的一些重要部分留在这里供大家检查。

构建.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"
}

模块信息.java

module io.github.dogobot.core {
requires kotlin.stdlib;
requires kotlin.reflect;
requires kotlin.logging;

requires java.management;

requires BootingBits;
}

我可以在Intellij Idea上运行该项目,没有任何问题,只是在gradle上执行时出现此错误。

Project Structure

最佳答案

文件 -> 使缓存失效 -> 选择“清除文件系统缓存和本地历史记录” -> 失效并重新启动

帮我解决了...

关于java - Kotlin + Java 9 模块 : Module java. 在模块图中找不到基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849824/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com