javafx 11 项目,找不到模块- intellij

标签 java intellij-idea javafx java-11 java-module

我正在开发一个 JavaFX 项目,我开始使用 Netbeans 没有任何问题,然后切换到 IntelliJ Idea,但遇到了问题。 起初,一些导入(例如 java.sql 和 javafx)无法正常工作,因此我在 src 文件夹中添加了一个 module-info.java 文件,其中放置了所有必需的导入,如下所示:

module blood {
    requires javafx.fxml;
    requires javafx.controls;
    requires javafx.graphics;
    requires java.sql;
    requires java.desktop;
    requires jdk.jfr;
    opens sample;
}

该模块与项目“blood”同名。 现在我没有关于导入的错误,但是当我运行我的项目时,我得到了这个:

"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" --module-path C:\Users\USER\Downloads\javafx-sdk-11.0.2\lib --add-modules=javafx.controls,javafx.graphics,javafx.fxml --add-modules javafx.base,javafx.graphics --add-reads javafx.base=ALL-UNNAMED --add-reads javafx.graphics=ALL-UNNAMED -Djava.library.path=C:\Users\USER\Downloads\javafx-sdk-11.0.2 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.4\lib\idea_rt.jar=50526:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.4\bin" -Dfile.encoding=UTF-8 -m blood/sample.Main
Error occurred during initialization of boot layer
java.lang.module.FindException: Module blood not found

Process finished with exit code 1

我还在虚拟机选项中添加了这一行:

--module-path "C:\Users\USER\Downloads\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.graphics,javafx.fxml

我应该做什么?

最佳答案

--module-path C:\Users\USER\Downloads\javafx-sdk-11.0.2\lib

不足以加载您为应用程序创建的模块blood。另一方面,命令行参数

-m blood/sample.Main

期望具有 sample.Main 类的 blood 模块运行应用程序。这就是错误读取的原因

java.lang.module.FindException: Module blood not found

因此,解决方案是添加正在构建模块 blood 的输出文件夹。

--module-path C:\Users\USER\Downloads\javafx-sdk-11.0.2\lib;<project-output-diretory>

openjfx-docs “JavaFX 和 IntelliJ”部分还有一个子主题“来自 IDE 的模块化”,其中讨论了“添加 VM 选项”以明确此配置。

关于javafx 11 项目,找不到模块- intellij,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903473/

相关文章:

javafx - JavaFX TableView排序策略

java - AdoptOpenJDK 和 Red Hat OpenJDK for Windows 之间的技术差异

java - Picasso 中的错误 get() 无法应用于 (android.content.Context)

java - 如何使用 IntelliJ Idea 15 调试 JSP 文件(断点不起作用)

tomcat - 如何在单个构建步骤中使用 IntelliJ 中的远程调试器运行 Gradle+Tomcat?

java - 使 TableView 中的列在请求之前不可见

java - 如何使用游标从 sqlite 表中获取整个列?

java - Log4j2 OutputStreamManager.write 上的线程阻塞

java - Intellij 无法设置 VM 选项

javafx - 如何使 JavaFX 场景中的内容透明?