【问题标题】:Application working on Windows but not on Linux应用程序可以在 Windows 上运行,但不能在 Linux 上运行
【发布时间】:2019-03-12 06:13:49
【问题描述】:

我有一个奇怪的问题。我有一个需要运行的.jar 文件,但是当我在 Windows PC 上运行它时它可以工作,但是当我在我的 Ubuntu 服务器上运行它时它不起作用。我已经在 Ubuntu 机器上安装了default-jre,当我通过java -jar {my name of file} 运行它时,它说:

错误:无法找到或加载主类 {当前类的名称 缺失}引起:java.lang.NoClassDefFoundError: javafx/应用程序/应用程序。

我还使用 apt-get install 安装了 openjfx 和 openjfx-source:

apt-get install openjfx
apt-get install openjfx-source

我的 Windows java 版本: java版本“1.8.0_181” Java(TM) SE 运行时环境 (build 1.8.0_181-b13) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.181-b13,混合模式)

我的 Ubuntu java 版本: openjdk 版本“10.0.2” 2018-07-17 OpenJDK 运行时环境(build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM(build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2,混合模式)

【问题讨论】:

  • java -version 在 Linux 机器上显示什么? (将此添加到您的问题中!)
  • 是的,我想。还会是什么?
  • @StephenC java -version 这样说:openjdk 版本“10.0.2”2018-07-17 OpenJDK 运行时环境(构建 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)OpenJDK 64-位服务器虚拟机(build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2,混合模式)
  • OpenJDK 不包含 javafx:stackoverflow.com/q/34243982
  • Ubuntu 仅具有适用于 openjfx 8 的 openjfx 软件包,因此您必须使用 Java 8 才能使它们适用。如果您需要 Java 9 或更高版本,最好安装 Oracle 的 JRE 并将其设置为默认值。

标签: java linux javafx jar


【解决方案1】:

我找到了它不起作用的原因。该应用程序是为在 Java 8 上运行而构建的,我已经在其上安装了 Java 11。现在它与 Java 8 完美配合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多