java.lang.module.FindException: 未找到模块测试Intellidea

java.lang.module.FindException: Module test not foundIntellidea

我有这个异常请帮助我! "引导层初始化时出错 java.lang.module.Find异常:未找到模块测试

但是我写了VM选项"--module-path "D:\UT java\javafx-sdk-17.0.1\lib" --add-modules javafx.controls,javafx.fxml"

我有模块-info.java "

 requires javafx.fxml;
    requires javafx.controls;
    requires javafx.graphics;
    requires java.sql;
    requires java.desktop;
    requires jdk.jfr;"

我添加了我的 sdk。如果我创建 javafx 演示项目并执行它,它就会工作。如果我开始更改 fxml 文件并更改控制器,我会遇到此异常。 我有 IntellIJIdea 2021,javafx-sdk-17.0.1,jdbc jr 8,11,16

修复步骤:

  1. 删除JavaFX sdk(不需要)

  2. 删除旧的 Java 版本(它们已过时)。

  3. 将您的 IntelliJ IDE 和 IDE 插件更新到最新版本 2021.3.2+。

  4. Create a new JavaFX project 使用 JDK 和 JavaFX 17.0.2+.

    • Select 用于构建系统的 Maven 除非你知道并喜欢 Gradle.
  5. 不要设置虚拟机参数,你不需要它们。

    • 当您拥有有效的 module-info.java 文件时,无需通过 --add-modules VM 参数添加模块。
    • 仍然需要 --module-path 以便可以找到模块,但 Idea 会在通过 Maven 依赖项识别模块时自动为您的模块提供正确的路径。
    • 因此您不需要自己为基于 Maven 的构建显式定义 --module-path VM 参数(这无论如何都很难做到,因为模块都被下载到本地 Maven 存储库中的不同目录).
  6. 按照 Idea 创建新的 JavaFX 项目执行指令进行测试。

  7. 通过将它们的 Maven 依赖项添加到 pom.xml 并将 requires 子句添加到 module-info.java.

    来一次添加一个模块
    • 确保你 synchronize the Maven and Idea projects 添加。
    • 例如,正确地查看此问题
    • 添加其他模块,例如 javafx.webjavafx.fxmljavafx.swing 遵循类似的模式。
  8. 通过构建和 运行 项目在每次添加之间进行测试,以确保您没有破坏任何东西。

  9. 将你原来的源码复制到新项目源码目录下相应的包目录中:

    src/main/java
    
  10. 将资源放在:

    src/main/resources
    

    紧随 Eden resource location guide

  11. 修复所有错误,确保所有内容都能编译和运行,然后进行测试。