库导致JavaFX应用程序在启动后不久崩溃

库导致JavaFX应用程序在启动后不久崩溃,java,eclipse,jar,javafx,Java,Eclipse,Jar,Javafx,我花了几周时间制作了一个JavaFX应用程序,我想将它导出到一个可运行的jar中。我在eclipse中玩游戏绝对没有问题。导出应用程序时,我有三种不同的库处理选项。“将所需库提取到生成的JAR中”、“将所需库打包到生成的JAR中”和“将所需库复制到生成的JAR旁边的子文件夹中” 选中第一个单选按钮(提取)时,应用程序运行没有问题 但是,当选中第二个单选按钮(Package)时,应用程序会运行约5秒钟,然后在加载时崩溃 我需要“将所需库打包到生成的JAR中”,以便将此应用程序移植到Android

我花了几周时间制作了一个JavaFX应用程序,我想将它导出到一个可运行的jar中。我在eclipse中玩游戏绝对没有问题。导出应用程序时,我有三种不同的库处理选项。“将所需库提取到生成的JAR中”、“将所需库打包到生成的JAR中”和“将所需库复制到生成的JAR旁边的子文件夹中”

选中第一个单选按钮(提取)时,应用程序运行没有问题

但是,当选中第二个单选按钮(Package)时,应用程序会运行约5秒钟,然后在加载时崩溃

我需要“将所需库打包到生成的JAR中”,以便将此应用程序移植到Android。如果我不打包库,应用程序将无法工作

为什么会出现这个问题?我正在运行和编译最新版本的Java(1.8)。这对我来说毫无意义

在注释了一些代码之后,我找到了导致错误的行

private static Group root;

public Screen(Group root) {
    this.root = root;
    root.getChildren().add(stats.getGroup());
    root.getChildren().add(help.getGroup());
    root.getChildren().add(options.getGroup());
    root.getChildren().add(highScores.getGroup());
    root.getChildren().add(playGame.getGroup());
    root.getChildren().add(mainMenu.getGroup());

}
我浓缩了代码,但你明白了。为什么会发生这种情况?这与我过去遇到的任何Java问题都不同

提前感谢,


-Steve

如果您想将JavaFX应用程序移植到Android,那么您应该使用Eclipse的一些变体,而不是Eclipse中内置的任何打包程序。我使用构建脚本,之前我已经移植了一些测试应用程序,并且没有问题。如果我不打包库,我的Android上显示的只是一个黑屏。问题不是移植它,而是当我打包库而不是提取库时.jar崩溃了。.jar在windows、linux和Android上崩溃。请更新您的问题,以包括您试图打包的库的jar文件的名称,并包括您正在使用的构建脚本的源代码。你在用什么?请确认您的库仅为Java代码,不加载本机库。.jar是在什么系统和环境下崩溃的?还有其他实用程序可以将Java应用程序打包到一个jar(例如)中。解释说:“JFX_应用程序指向常规javafx应用程序的dist目录(所有应用程序jar所在的位置)”。因此,该过程似乎将多个jar文件作为输入,不需要Eclipse中的预处理步骤或其他工具将所有应用程序类文件放在一个jar中。