错误:缺少 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 选项和模块中已经有了它们

JavaFX:在进程运行时禁用所有组件并显示进度指示器

jar文件打开及burp打开的问题解决方法

在 AWS Ubuntu EC2 上部署 Django 时缺少模块

Java OpenJDK 中缺少 JavaFX