当前位置: 首页 > 知识库问答 >
问题:

错误:JavaFX运行时组件丢失-JavaFX 11和OpenJDK 11和Eclipse IDE

微生弘
2023-03-14

我有一个典型的问题:将JavaFX11与OpenJDK11和Eclipse IDE一起使用。

Error: JavaFX runtime components are missing, and are required to run this application

我有OpenJDK 11.0.2

dell@dell-pc:~$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
dell@dell-pc:~$ 

然后,我将来自Eclipse IDE中JavaFX11 SDK.jar文件包含到一个库包中。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Control</groupId>
  <artifactId>JAdaptiveMPC</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx</artifactId>
        <version>13-ea+5</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-base</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-swing</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-web</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-media</artifactId>
        <version>13-ea+5</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>13-ea+5</version>
    </dependency>
  </dependencies>
</project>

共有1个答案

冯德宇
2023-03-14

您的问题不是编译项目,而是运行项目。由于main是在application-extension中定义的,因此在启动时运行项目将需要在模块路径中添加JavaFX。

因此,要么将main外包到与应用程序不同的类中,要么添加带有VM参数的JavaFX模块:

--module-path="<javafx-root>\lib" --add-modules="javafx.base,javafx.controls,..."

有关更多信息,请参见此。

 类似资料:
  • 问题内容: 我正在尝试使用maven依赖项创建一个JFX11包含自定义的jar。根据我所做的研究,似乎最好的方法是通过Maven Shade插件。但是,当我运行它时,出现以下错误: 错误:缺少JavaFX运行时组件,并且是运行此应用程序所必需的 我不明白为什么会这样。我在搞什么 有一个更好的方法吗?我还尝试了使用相同消息的Maven程序集插件。 pom文件供参考 问题答案: 这个答案解释了为什么在

  • 这是Duke.java文件: 更新:我将lib文件夹导入到我的项目中,现在错误消失了。但是在我运行项目时发生了另一个错误,这是“由以下原因引起的:java.lang.NullPointerException:输入流不能为null”

  • 我得到以下错误: 我试着重新安装,但没有任何运气。我还尝试将更改为或类似于,但仍然不起作用。

  • 我在Ubuntu 18.04.1 LTS上安装了以下内容: 有人知道怎么修吗?

  • 我的应用程序从源代码处运行得非常好,但是当我编译到单个jar文件时,我得到了错误: 错误:缺少JavaFX运行时组件,而这些组件是运行此应用程序所必需的。 我使用作为我的存储库管理器,并且我的Maven安装是成功的。 注意:在我的构建工件中,我可以看到包含及其所有库

  • 问题内容: 尝试使用npm start命令调试节点应用程序时收到此错误。 错误: npm ERR!Windows_NT 6.3.9600 npm错误!argv“ C:\ Program Files \ nodejs \\ node.exe”“ C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm- cli.js”“开始” n​​pm