【问题标题】:Runnable Jar from a JavaFX 8 project, JavaFX compenents are missingJavaFX 8 项目中的可运行 Jar,缺少 JavaFX 组件
【发布时间】:2021-10-22 06:25:35
【问题描述】:

我使用 JDK 8 创建了一个 Javafx 项目,当我尝试将其导出到可运行的 .jar 文件时,我很惊讶它没有使用 CMD 运行,并出现以下错误:

“缺少 Javafx 组件”

虽然它在我访问 .jar 文件的编译期间(使用 IDE)完美运行,但我发现它只有 .class 文件(我制作的),以及尚未导出的所需库文件(我确保在 Eclipse 中选择“提取需要的库文件将所需的库提取到生成的 jar”选项),这背后有什么原因吗?以及解决方法?提前致谢 Ps:我用 Eclipse 和 Intellij IDE 试过这个

我只想再次提一下,我使用的是 JDK 8,其中包含 JavaFX 库。

【问题讨论】:

  • 您确定使用 Java 8 运行它,而不仅仅是构建它吗?它是 Oracle Java 8(而不是例如 OpenJDK)吗?
  • 你的意思是在导出之前?不,我确保我首先运行它,并且它在 IDE 中正常工作。是的,我确定它是 Oracle 8,我从这里下载:oracle.com/java/technologies/javase/javase-jdk8-downloads.html (Java SE Development Kit 8u301) 我认为它是正确的,不是吗?
  • 但是您使用哪个 JDK 来运行 jar 文件?这才是最重要的。
  • 我建议使用比 Java 8 更现代的 Java/JavaFX 版本,例如Java/JavaFX 16+。
  • 我的错,我有JDK 16,文件的小尺寸让我认为问题来自于jar,完全忘记检查我的JDK版本,谢谢。

标签: javafx java-8 javafx-8


【解决方案1】:

你试过this吗?

有关于如何配置 IDE 以使用较新的 OpenJDK(其中不包含 JFX 组件)运行 JavaFX 的详细说明。

它还解释了如何从原型创建一个新的 JavaFX Maven 项目,其中包含所有必要的插件来轻松构建您的应用程序,同时包括最少的 Java 组件(使用 jlink)。

这将确保使用您的应用程序的任何人都将拥有这些组件。

【讨论】:

    猜你喜欢
    • 2019-07-06
    • 2021-01-11
    • 1970-01-01
    • 2021-08-21
    • 2020-04-20
    相关资源
    最近更新 更多