我有这个经典问题:将 JavaFX 11 与 OpenJDK 11 与 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:~$
我还有 JavaFX 11 SDK
。顺便一提!如果您想知道,我正在使用 Lubuntu Linux 18.10。
然后我将 Eclipse IDE 中来自 JavaFX 11 SDK
的 .jar
文件包含到一个库包中。
然后我将这个库包包含到我的 JAdaptiveMPC
项目中。
你知道为什么吗?如果我从 Maven 导入所有这些 .jar
文件而不是下载 JavaFX SDK
并将其导入到库中,我会遇到同样的错误。
<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>
继续
我在 Run Configuration
添加了这个
还是错误。
原文由 Heretic 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的问题不是编译项目,而是运行它。由于您的
main
是在您的Application
扩展中定义的,因此运行该项目将需要在启动时在您的模块路径中使用 JavaFX。因此,要么将您的
main
外包到与您的Application
不同的类中,要么添加带有 VM 参数的 JavaFX 模块:请参阅 此 以获取更多信息。