错误:缺少 JavaFX 运行时组件,需要在 Eclipse 中运行此应用程序
Posted
技术标签:
【中文标题】错误:缺少 JavaFX 运行时组件,需要在 Eclipse 中运行此应用程序【英文标题】:Error: JavaFX runtime components are missing, and are required to run this application in eclipse 【发布时间】:2019-02-07 10:16:59 【问题描述】:我是 JavaFX 的初学者,正在尝试在 Ubuntu 上的 Eclipse 中运行 JavaFX。
我在我的电脑上安装了 openjfx,但它给出了错误
JavaFX 运行时组件缺失,是运行此应用程序所必需的。
我已经搜索了很多但没有任何解决方案。
【问题讨论】:
你试过sudo apt-get install openjfx
您正在使用仍然包含 JavaFX 的 Java 10,“jfxrt”下是什么?你的项目是一个模块吗?构建配置是什么?
@guleryuz 是的,我已经尝试过了
@user1803551 jfxrt 包含 jfxrt.jar 文件
试试这个(我遇到了同样的错误,这对我有用):右键单击 Java 文件 -> 运行方式 -> 运行配置 -> 单击“参数”选项卡 -> VM 参数: -> 提供此值--module-path /<path>/javafx-sdk-11/lib/ --add-modules=javafx.controls
【参考方案1】:
尝试简单地创建一个启动器。 对于您的应用,它应该如下所示:
package application;
import javafx.application.Application;
public class MainLaunch
public static void main(final String[] args)
Application.launch(Main.class, args);
(您可以暂时将旧的 main 方法留在您的应用程序中) 这对我在 Ubuntu 下使用 JDK 13 & JavaFX 13 & Eclipse 2019-12 有效。 (我使用“new/Maven Project/Simple Project”创建了项目,然后在 pom.xml 中添加了 JavaFX、Logging 和其他东西作为依赖项,它们都落在 Classpath 上。只有 JDK 在 Modulepath 上) 无需担心 Java 模块。 如果可行,您可以改天花时间了解 Java 模块化...
【讨论】:
【参考方案2】:Venkata Raju 的建议让我在 Eclipse(2019-03 使用 Java 11)方面已经成功了一半:
VM 参数:-> 提供此值
--module-path /<path>/javafx-sdk-11/lib/ --add-modules=javafx.controls
此外,我确保在启动配置的同一面板中取消选中“使用 SWT 启动时使用 -XstartOnFirstThread 参数”选项。
【讨论】:
以上是关于错误:缺少 JavaFX 运行时组件,需要在 Eclipse 中运行此应用程序的主要内容,如果未能解决你的问题,请参考以下文章
错误:缺少 JavaFX 运行时组件 - JavaFX 11 和 OpenJDK 11 以及 Eclipse IDE
缺少 JavaFX 运行时组件,即使我的 VM 选项和模块中已经有了它们