Java 屏幕保护程序加载错误 class,有什么想法吗?

Java screensaver loading the wrong main class, any ideas?

我正在使用 Java、JavaFX、JavaFX Packager、Gradle Java 构建一个 Windows 屏幕保护程序FX Packager 插件等。我用这个配置生成各种可执行文件:

jfx {
    mainClass = "tech.project.project.ConfiguratorApp"
    vendor = "Project"
    appName = "Project"
    nativeReleaseVersion = version
    secondaryLaunchers = [
            [
                    appName  : "Project Renderer",
                    mainClass: "tech.project.project.RendererApp",
                    needMenu : true
            ],
            [
                    appName  : "Project Displayer",
                    mainClass: "tech.project.project.DisplayerApp",
                    needMenu : true
            ],
            [
                    appName  : "Project Screensaver",
                    mainClass: "tech.project.project.WinScreensaverApp",
                    needMenu : false
            ]
    ]
}

配置、预览和测试屏幕保护程序时,一切正常,但是当屏幕保护程序实际 运行s 时,主要 class 似乎是 DisplayerApp 而不是 [=15] =].

关于为什么或如何收集有关正在发生的事情的更多信息的任何想法?

我设法找到了 Windows 命令行:

C:\PROGRA~1\Project\PROJEC~1.SCR /s

过去的爆炸!但是我 运行 在控制台中手动执行该命令,我调用了相应的启动器。

我找到了解决办法。我有各种可执行文件:

  • C:\Program Files\Project\Project A.exe
  • C:\Program Files\Project\Project B.exe
  • C:\Program Files\Project\Project C.exe
  • C:\Program Files\Project\Project D.scr

并且当 C:\PROGRA~1\Project\PROJEC~1.SCR /s 被执行时,看起来 C:\Program Files\Project\Project A.exe 被 运行 而不是 C:\Program Files\Project\Project D.scr

我把屏保的名字改成了:

  • C:\Program Files\Project\ProD.scr

它开始正常工作。我不确定为什么,但由于我现在不会进一步调查,所以我想 post 解决方案,以防其他人 运行 遇到类似问题,这可能会阐明一些问题问题。