【问题标题】:Getting "Module javafx.controls not found" error Java Eclipse IDE获取“未找到模块 javafx.controls”错误 Java Eclipse IDE
【发布时间】:2021-02-10 01:44:13
【问题描述】:

我正在使用带有 Java 的 Eclipse IDE 2020-03 版本。我正在尝试使用 FXML,在线查看了一些教程和步骤并遵循了它们。但我仍然收到以下错误:

启动层初始化时出错 java.lang.module.FindException:找不到模块 javafx.controls

我在谷歌上寻求帮助。有很多人有同样的问题,并且能够解决这个问题。但我所看到的只是他们使用的是 NetBeans IDE 或 IntelliJ。有人有 Eclipse 的解决方案吗?任何帮助将不胜感激。

我按照本教程进行操作 -> https://www.youtube.com/watch?v=bC4XB6JAaoU 。这是我目前拥有的:

e(fx)clipse 3.6.0 installed from Market Place

“Java Build Path”包含库(我在15.0,然后切换回14.0但错误仍然存​​在)

javafs-sdk jar files

“Java Build Path”包含库(我在15.0,然后切换回14.0但错误仍然存​​在)

VM Arguments 具有以下行(指向库位置):--module-path "C:\Users\my_name\Documents\Scene Builder\openjfx-14.0.1_windows-x64_bin-sdk\javafx-sdk-14.0.1 \lib" --add-modules javafx.controls,javafx.fxml

我尝试在 eclipse.ini 文件中使用“-clean”,但没有帮助。事实上,当我尝试创建新的简单项目并再次执行所有步骤时,Java 甚至无法识别 JavaFX。

谢谢!

【问题讨论】:

  • 您需要将 JavaFX JAR 文件添加到 Modulepath 而不是 Classpath 虽然不是强制性的,但您也应该尝试匹配 JavaFX版本与 JDK 版本一致。因此,如果您使用的是 JavaFX 14,请安装 JDK 14。您也不必使用 e(fx)clipse。我使用 Eclipse IDE for Java,编写 JavaFX 应用程序没有问题。我正在使用带有 JDK 15 和 JavaFX 15 的 Eclipse 2020-09。您在 openjfx 网站上查看过Getting Started 吗?
  • @Abra 谢谢!我会尝试你的建议,并会以结果回复你。我有 JDK 15,我将 Eclipse IDE 更新到 2020-09,但它给了我不兼容的警告,所以我回到 Eclipse 2020-03。

标签: java eclipse fxml javafx-11


【解决方案1】:

JavaFX 不再是 JDK 的一部分。所以把它当作一个正常的依赖。也像任何其他 maven 库一样:https://mvnrepository.com/artifact/org.openjfx

我使用的是 OpenJDK 11,这是我的 pom.xml 文件的示例:https://pastebin.com/6hjDtaiw

javafx-maven-plugin 用于获取平台特定的库(.dll 用于 Windows,.so 用于 linux ...)

javafx-controls 用于标签、按钮和其他 JavaFX UI 元素

并且不要直接启动您的应用程序类。否则你会得到以下错误: Error: JavaFX runtime components are missing, and are required to run this application

只需编写一个附加类来调用应用程序类的“main”方法。

【讨论】:

  • 谢谢!我会通过你的cmets。我有主()。去年我在这个项目上工作过,它工作得很好,但是是在旧版本的 Eclipse、JDK 等上。
【解决方案2】:

谢谢大家!我设法使它工作。我安装了最新的 Eclipse IDE 2020-09

版本:2020-09 (4.17.0) 版本号:20200910-1200

重新安装 jdk15.0.1 并将其放在 Modulepath 下而不是 Classpath 下,它现在可以工作了。

enter image description here

【讨论】:

    【解决方案3】:

    我尝试了上述所有解决方案,但没有任何效果,然后我创建了 module-info.java 文件,我的程序开始工作。 只需右键单击您的项目并转到>>配置>>创建模块信息.java

    【讨论】:

    • 你是最高职位。没有什么“高于”。 (即注意帖子的顺序可以单独配置...)
    【解决方案4】:

    我也遇到了同样的问题。我的问题源于以下事实:由于某种原因,javafx sdk 库位于模块路径下,而不是构建配置中的类路径下。将 JavaFX SDK 从模块路径移动到类路径后,错误已修复。

    如果您也是这种情况,您只需右键单击 javaFX 项目文件夹-> 构建路径-> 配置构建路径-> 选择 JavaFX SDK-> 删除库-> 选择类路径-> 添加即可解决此问题库-> 用户库-> 选择库-> 应用。

    基本上它应该是这样的:

    here 上找到了一个很好的帮助我设置的教程

    希望对你有帮助

    【讨论】:

      【解决方案5】:

      如果您使用较新的版本,则应将所有内容都放在 ModulePath 中。

      java -版本 openjdk 版本“17.0.1” 2021-10-19 OpenJDK 运行时环境(内部版本 17.0.1+12-39) OpenJDK 64-Bit Server VM(build 17.0.1+12-39,混合模式,共享)

      【讨论】:

        猜你喜欢
        • 2019-06-01
        • 2020-03-13
        • 1970-01-01
        • 1970-01-01
        • 2021-07-23
        • 2019-05-16
        • 1970-01-01
        • 1970-01-01
        • 2022-10-05
        相关资源
        最近更新 更多