【发布时间】: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版本,谢谢。