【发布时间】:2019-05-28 16:29:25
【问题描述】:
我导出了一个 JavaFX2 项目的 Jar。它工作正常,但是当我在另一台机器上运行它时,会有一个 classDefNotFoundExeption: javafx.application.Application
任何提示如何解决这个问题?
这是我的清单:
Class-Path: .
Main-Class: proj.view.Launcher
我还编写了启动器,以在找不到 JavaFX 的情况下启动 Swing GUI。
这是我的启动器类
public class Launcher {
public static void main(String[] args) {
try {
Class c = javafx.application.Application.class;
proj.main.App.main(args);
}catch (NoClassDefFoundError e) {
String[] t = {"Swing Backup","Application start Error"};
MainFrame.remote(t);
}
}
}
【问题讨论】:
-
经过一番思考。我想我会首先检查安装在其他机器上的 java 版本。
java -version。 JavaFX 2.0 并不是超级新的,但它只存在于 Java 8 及更高版本中。看到一些相当旧的 Java JRE 版本仍然存在,我不会感到惊讶。 -
是您的机器的
1.8._051jdk 还是您遇到异常的机器的jdk?请提供两台机器上jdk的详细信息.. -
jdk1.8.0_051 工作正常。但在另一台机器上是:jdk1.8.0_181 @Babu Sekaran
-
@Luxusproblem
jdk1.8.0_181应该不会失败,但是您可以在添加我在回答中提到的依赖项后尝试构建。 -
@hooknc 但它在另一台机器的 Eclipse-IDE 中编译。并且工作正常。只有 Jar 不能与 FX 一起使用。
标签: java javafx jar runnable-jar