当在命令提示符中运行JAR文件时,显示错误“缺少JavaFX运行时组件,这些组件是运行此应用程序所必需的”。

3
我在IntelliJ中创建了一个项目,并从中构建了一个jar文件(指定了主类)。但是,当我尝试使用cmd运行jar文件时,会出现以下错误:JavaFX运行时组件缺失,需要运行此应用程序(在命令提示符中)。如何解决这个问题?(我是新手,请尽可能简单易懂地解释。)
cmd命令:java -jar filename.jar 最终,我想通过单击一个图标来运行我的JavaFX应用程序。我该怎么做???是否有其他方法来运行我的应用程序,就像运行任何其他应用程序一样,只需点击一个图标即可?我不想每次都打开IntelliJ来运行我的应用程序。 我使用的是: 操作系统:Windows 10 | IntelliJ IDEA 2020.2.3 | jdk 14.0.2 | jre 1.8.0_251 | javaFX 15
(顺便说一下,我将JavaFX 15安装在另一个驱动器中,而不是与操作系统相同的硬盘中)

这个链接回答了你的问题吗?https://dev59.com/a1QK5IYBdhLWcg3wQt1t - TechGeek49
4个回答

3
你可以尝试以下方法:
右键点击你的项目,选择导出,然后选择导出为可运行的jar文件。别忘了选择第二个选项,需要将使用的库一起导出。这样就能在命令行中运行jar文件,并且加载所有模块,而不仅仅是javafx.controls模块。
--module-path "put_here_the_path" --add-modules=ALL-MODULE-PATH

或者

你可以进行这个步骤,它可以帮助你。

File >> Project Structure >> Modules >> Dependency >> + (on left-side of window)

点击"+"号,指定您解压缩JavaFX的"lib"文件夹所在的目录。

然后:

Run >> Edit Configurations

尝试加载所有模块以修复此错误

--module-path "put_here_the_path" --add-modules=javafx.controls,javafx.fxml

1

1

由于您正在使用IntelliJ-IDEA,因此请按照以下说明操作。

  1. 转到运行编辑配置

  2. 转到VM选项并添加以下参数:

    --module-path "C:\Fx\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.web --add-exports javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED

只需知道,对于我的情况,我创建了文件夹并将JAR文件存储在该目录中。 对于这一部分,您可以进行修改,其余部分就是历史。 您只需要更改JavaFX JAR文件存储路径的目录即可。


0

我已经将-Djava.library.path=C:/go-out-of-my-way-eclipse添加到运行时参数中。我不记得我在哪里找到这个建议。


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