IntelliJ IDEA Ultimate 2018.3认为我的Java 9项目是Kotlin项目

dax*_*dax 17 java intellij-idea maven kotlin java-9

我有一个IntelliJ项目,组成几个子项目,这些子项目都是Java 9模块.我使用Maven作为构建系统.我的项目没有"Facets".我的运行配置如下所示: 运行配置

我的项目设置如下所示: 项目设置

我可以用Maven构建一切就好了.但是,当我尝试使用IntelliJ进行编译时,它会以某种方式认为我的项目是Kotlin项目并且无法编译它:

错误信息

错误:Kotlin:在模块图中找不到Kotlin标准库.请确保您的模块定义中包含'requires kotlin.stdlib'子句

有谁知道如何解决这个问题?我已经尝试删除运行配置并重新创建它.这解决了一段时间的问题,但随后又重新出现.

xce*_*sco 11

我有同样的问题。我在一个用 Maven 管理的纯 Java 项目中工作。直到几天前,我应用了“重建”项目的解决方案,但有时错误又回来了。

经过更多的调查,我发现禁用“启用迁移检测”菜单后,问题消失了。

禁用菜单 启用迁移检测

我希望这有帮助。


GOX*_*LUS 7

即使在2019.1.3中也存在该错误。

对我一直有效的解决方案是:

Build menu => Rebuild Project

经JDK 12.0.1测试


不过,随着越来越多的Java项目传递给JDK 11 ++,应该由IntelliJ团队尽快解决该问题。


Nam*_*man 1

同时,可以使用kotlin-stdlib.jarKotlin JavaRuntime 中的可用功能来修复此问题:

module kotlin.test {
    requires kotlin.stdlib;
}
Run Code Online (Sandbox Code Playgroud)

其中kotlin.test应替换为您的模块名称。

以防万一细节很重要,我正在使用

IntelliJ IDEA 2018.3 (Community Edition)
Build #IC-183.4284.148, built on November 21, 2018
Run Code Online (Sandbox Code Playgroud)

上面提到的 Kotlin JavaRunTime 的源代码来自 Contents/plugins/Kotlin/kotlinc/libIntelliJ 内的路径.app,其中包括kotlin-stdlib.jar其中之一。

  • 感谢您的回答,但我不想向我的项目添加任何我不需要的东西的要求...... (6认同)