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

时间:2018-11-27 10:20:43

标签: java maven intellij-idea kotlin java-9

我有一个IntelliJ项目,该项目由几个子项目组成,它们都是Java 9模块。我使用Maven作为构建系统。我的项目没有“ Facets”。我的运行配置如下所示: Run Configuration

我的项目设置如下: Project Settings

我可以使用Maven构建一切。但是,当我尝试使用IntelliJ进行编译时,它以某种方式认为我的项目是Kotlin项目,无法对其进行编译:

Error message

  

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

有人知道如何解决此问题吗?我已经尝试删除运行配置并重新创建它。这可以解决此问题一段时间,但随后会随机出现。

8 个答案:

答案 0 :(得分:9)

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

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

disable menu Enable migration detection

我希望这会有所帮助。

答案 1 :(得分:2)

同时,可以使用Kotlin JavaRuntime中可用的kotlin-stdlib.jar来解决此问题:

module kotlin.test {
    requires kotlin.stdlib;
}

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

只要细节很重要,我就使用

IntelliJ IDEA 2018.3 (Community Edition)
Build #IC-183.4284.148, built on November 21, 2018

上面提到的Kotlin JavaRunTime的源来自IntelliJ Contents/plugins/Kotlin/kotlinc/lib中路径.app,其中包括kotlin-stdlib.jar作为其中之一。

答案 2 :(得分:0)

尝试使用Ctrl + Shift + F9重建模块,或右键单击该模块,然后在菜单中选择“重建”。

答案 3 :(得分:0)

即使在 2019.1.3 中也存在错误。

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

Build menu => Rebuild Project

通过JDK 12.0.1测试


这个问题应该由IntelliJ团队尽快解决,因为越来越多的Java项目正在传递给JDK 11 ++

答案 4 :(得分:0)

我遇到了同样的问题,我删除了文件并重新开始,并且文件运行正常

答案 5 :(得分:0)

我通过禁用Kotlin插件解决了此错误,因为我没有使用它并且问题已解决

答案 6 :(得分:0)

更新您的module-info.java文件

requires javafx.fxml;
requires javafx.controls;
requires javafx.graphics;
requires javafx.web;

opens sample;

opens sample.controller;

它将打开包含启动器文件的包(例如示例),并打开包conatinsyoyr控制器及其对应的fxml文件(例如sample.controller)

答案 7 :(得分:-1)

我有同样的问题。这是有效的方法:

  1. 在IntellijIDEA上,转到应用程序顶部的“工具”菜单:IntelliJ IDEA IDE
  2. 然后向下滚动到“ Kotlin”。
  3. 点击“在项目中配置Kotlin”。