JavaFX .jar 适用于 Windows 和 OSX,但不适用于 Linux

Posted

技术标签:

【中文标题】JavaFX .jar 适用于 Windows 和 OSX,但不适用于 Linux【英文标题】:JavaFX .jar works on Windows and OSX but not on Linux 【发布时间】:2017-08-20 16:42:05 【问题描述】:

我正在尝试制作一个跨平台的 JavaFX 应用程序,它在 Windows 和 OSX 机器上运行良好,但在 Linux 上却不行。

当我尝试使用 java -jar app.jar 在 Linux 机器上运行它时,我得到的是:

Error: Could not find or load main class app.Main

但app.Main类在.jar中,如'jar tf app.jar'所示:

...
app/Main.class
...

我尝试使用 java -cp app.jar app.Main 指定主类,但我得到了相同的错误消息。

.jar 是在 Intellij IDEA 中构建的,使用基本的 JavaFX 配置。

有什么帮助吗?

【问题讨论】:

你在 linux 机器上有哪个 Java 运行时? OpenJDK 不附带 JavaFX。 Which linux?,什么 Java 版本 ([java -version])?相关:Why is JavaFX is not included in OpenJDK 8 on Ubuntu Wily (15.10)? 和 JavaFX and OpenJDK。另请参阅 Oracle java distributions for Linux,其中包括 JavaFX。 【参考方案1】:

所以,问题在于 Linux 机器上的 JRE 是 OpenJDK,JavaFX 没有附带,正如 James_D 和 Jewelsea 所指出的那样

安装oracle JRE 8后,运行良好

【讨论】:

以上是关于JavaFX .jar 适用于 Windows 和 OSX,但不适用于 Linux的主要内容,如果未能解决你的问题,请参考以下文章

打包适用于没有 JRE 的 Mac 和 Windows 的 Jar 文件

将 .jar 转换为适用于 Windows、Linux 和 Mac 的应用程序

JavaFX:如何显示表情符号?

JavaFX Ubuntu 舞台停靠图标不更新

SBT 导入空的基于 JavaFX 的 jar

部署JavaFx应用程序jar