如何修复JavaFX运行时组件丢失?

5

我在Ubuntu 18.04.1 LTS上安装了以下内容:

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1, mixed mode)

javafx.runtime.version=8.0.161
javafx.runtime.build=b00

无论我如何尝试运行使用JavaFX的样例Java应用程序,都会出现以下错误:
$ java -jar Untitled.jar 
Error: JavaFX runtime components are missing, and are required to run this application

我尝试在Eclipse、Intelli和终端中运行它,但都出现了相同的错误。
我已设置了类路径。
:~$ echo $CLASSPATH
/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar:.

我已将所有JavaFX文件复制到当前目录。我已尝试了互联网上能找到的所有方法。

有人知道如何解决这个问题吗?


你执行过 sudo apt-get install openjfx 命令吗?参考链接:https://dev59.com/LGMl5IYBdhLWcg3wP1LE - Dai
是的,我已经安装了OpenJFX。 - Dang
2
尝试这个:java --module-path /<path>/javafx-sdk-11/lib/ --add-modules=javafx.controls -jar Untitled.jar - Venkata Raju
1个回答

7
在已安装openjdk-11-jreopenjfx的Ubuntu 18.04上,您可以使用以下命令:
% java --module-path /usr/share/openjfx/lib --add-modules ALL-MODULE-PATH \
    -jar Untitled.jar

openjfx.io 网站上,有关于如何运行 JavaFX 程序的更多信息


FYI:对于JavaFX,只需要两个模块--add-modules javafx.fxml,javafx.controls而不是ALL-MODULE-PATH就足够了。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接