0

我有一个名为 Sample 的简单 javafx 应用程序,它显示当前时间。它有一个这样的控制器

SampleController.initialize()

        Timeline clock =
                new Timeline(
                        new KeyFrame(
                                Duration.ZERO,
                                e ->
                                {
                                    lblTime.setText(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                                }),
                        new KeyFrame(Duration.seconds(1)));
        clock.setCycleCount(Animation.INDEFINITE);
        clock.play();

该应用程序在我的 IDE 中完美运行,当它从一个启动器类(不扩展 javafx.application.Application)启动时,它的主要方法是:

        Sample.main(args);

我可以使用带有 mvn gluonfx:build 的 maven 构建该应用程序(而不是启动器类),而不会产生任何抱怨。我也可以跑

mvn gluonfx:run

成功地。但是,如果我跑

mvn gluonfx:nativerun

我在控制器类中看到了 NPE。

如果我运行由 maven 生成的 .exe 文件,应用程序将启动但不显示控制器行为(每秒当前时间的格式化输出)。它不会抱怨任何事情。

有任何想法吗?

4

0 回答 0