在 Ubuntu 上运行 JavaFX jar

Posted

技术标签:

【中文标题】在 Ubuntu 上运行 JavaFX jar【英文标题】:Running JavaFX jar on Ubuntu 【发布时间】:2016-04-06 10:18:41 【问题描述】:

我无法在我的 Ubuntu 虚拟机上运行 JavaFX 应用程序的 jar 文件,我不知道为什么。它只是说它找不到jar的主文件。例如 Swing 应用程序的其他 jars 似乎工作正常。这是我在 Ubuntu 上运行 java -version 时得到的结果:

它似乎有 Java 8,默认情况下应该包含 JavaFX,那么为什么我不能运行 jars?

编辑:jar 由一个类组成,如下所示:

import javafx.application.Application;
import javafx.stage.Stage;

public class Main extends Application 
        public static void main(String[] args) launch(args);
        public void start(Stage ps) 
                ps.show();
        

它是使用命令jar cfe javafxjar.jar Main Main.class创建的

jar 在 Windows 10 上执行没有问题,但在 Ubuntu 上失败并显示以下消息:

【问题讨论】:

可能是这些 jar 不包含主类或未正确引用。相同的jar文件在不同的环境中运行吗?如需进一步的建议,您应该发布有关您尝试执行的 jar 文件的更多详细信息。 使用附加信息进行了编辑,希望它可以帮助某人诊断问题。 嘿 @Justsomeguy,我的 Ubuntu 也有同样的问题。由于“找不到或加载主类”错误,即使是最简单的“Hello World”程序(在 Windows 上运行)也无法运行。你设法解决了这个问题吗? @OmriSoudry。如果我没记错的话,我没有解决这个问题,但无论如何这对我来说并不是那么重要。祝你好运。 【参考方案1】:

今天我也碰到了这个问题。

就我而言,原因是 OpenJDK。 默认不包含 OpenJFX。

解决方案是:sudo apt-get install openjfx

现在一切都像魅力一样。

【讨论】:

【参考方案2】:

可能是由于 JAVA_TOOL_OPTIONS:

$ unset JAVA_TOOL_OPTIONS
$ java -jar javafxjar.jar

【讨论】:

以上是关于在 Ubuntu 上运行 JavaFX jar的主要内容,如果未能解决你的问题,请参考以下文章

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

JavaFx - exe4j 一键打包 Jar 转 Exe(实现在没有安装JDK环境的电脑上运行)

JavaFX 项目的有效 JAR 签名

错误:缺少 JavaFX 运行时组件,需要在 Eclipse 中运行此应用程序

如何在 Ubuntu 18.04.2 LTS 上使用 OpenJDK 8 运行 Java FX?

JavaFX 本机安装程序 OSX 工作目录