我有一个IntelliJ项目,该项目由几个子项目组成,它们都是Java 9模块。我使用Maven作为构建系统。我的项目没有“ Facets”。我的运行配置如下所示:
我可以使用Maven构建一切。但是,当我尝试使用IntelliJ进行编译时,它以某种方式认为我的项目是Kotlin项目,无法对其进行编译:
错误:Kotlin:在模块图中找不到Kotlin标准库。请确保模块定义中包含“ requires kotlin.stdlib”子句
有人知道如何解决此问题吗?我已经尝试删除运行配置并重新创建它。这可以解决此问题一段时间,但随后会随机出现。
答案 0 :(得分:9)
我有同样的问题。我在由Maven管理的纯Java项目中工作。直到几天前,我才对解决方案“重建”了该项目,但有时错误又回来了。
经过更多调查,我发现在禁用“启用迁移检测”菜单后,问题消失了。
我希望这会有所帮助。
答案 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)
我有同样的问题。这是有效的方法: